﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Sven,
  
It can serve as a replacement for Rhino Queues, but it is also going to serve as a notification server for applications.
  
I am probably going to write an article or two on that.
</description><link>http://ayende.com/4687/raven-mq-principles#comment36</link><guid>http://ayende.com/4687/raven-mq-principles#comment36</guid><pubDate>Mon, 15 Nov 2010 08:27:31 GMT</pubDate></item><item><title>Sven commented on Raven MQ – Principles</title><description>Ayende, I learned a lot from reading your recent articles in msdn magazine. 
  
  
How does RavenMQ fit into the ideas you presented in the articles ?
  
Is it "just" a replacement for Rhino Queues that is better suited to the scenarios you talked about in the articles ? Does anything else change ? Is there going to be a sequel (series) ? :-)
</description><link>http://ayende.com/4687/raven-mq-principles#comment35</link><guid>http://ayende.com/4687/raven-mq-principles#comment35</guid><pubDate>Sun, 14 Nov 2010 22:29:10 GMT</pubDate></item><item><title>Uriel Katz commented on Raven MQ – Principles</title><description>Ha ok sorry about that :)
  
It will be really nice if you do :) you are going to use async networking either way right?,because you plan to handle a lot of clients(in this case clients can be web browser and not just a app like in normal queuing systems).
</description><link>http://ayende.com/4687/raven-mq-principles#comment34</link><guid>http://ayende.com/4687/raven-mq-principles#comment34</guid><pubDate>Thu, 11 Nov 2010 14:05:52 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Uriel,
  
I didn't say that I am not supporting them, I said that I don't know if I will
</description><link>http://ayende.com/4687/raven-mq-principles#comment33</link><guid>http://ayende.com/4687/raven-mq-principles#comment33</guid><pubDate>Thu, 11 Nov 2010 14:02:53 GMT</pubDate></item><item><title>Uriel Katz commented on Raven MQ – Principles</title><description> why you are not supporting long-polling? ,it is pretty much the only cross-browser way of doing real time updates,and it is very easy to implement using async networking.
</description><link>http://ayende.com/4687/raven-mq-principles#comment32</link><guid>http://ayende.com/4687/raven-mq-principles#comment32</guid><pubDate>Thu, 11 Nov 2010 13:54:05 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Uriel,
  
That is pretty much it, yes.
  
It will support Mono, and it has HTTP API
</description><link>http://ayende.com/4687/raven-mq-principles#comment31</link><guid>http://ayende.com/4687/raven-mq-principles#comment31</guid><pubDate>Thu, 11 Nov 2010 13:48:51 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Jesus,
  
I might, it depends on too many factors. Long polling doesn't really work that well in the scenarios that I have in mind (multi level subscriptions)
</description><link>http://ayende.com/4687/raven-mq-principles#comment30</link><guid>http://ayende.com/4687/raven-mq-principles#comment30</guid><pubDate>Thu, 11 Nov 2010 13:48:13 GMT</pubDate></item><item><title>Uriel Katz commented on Raven MQ – Principles</title><description>This is basically to support real-time web apps(ala COMET) right?
  
A message bus with history and WebSockets support.
  
looks nice will it support Mono? and will it have a HTTP API?
</description><link>http://ayende.com/4687/raven-mq-principles#comment29</link><guid>http://ayende.com/4687/raven-mq-principles#comment29</guid><pubDate>Thu, 11 Nov 2010 13:46:26 GMT</pubDate></item><item><title>Jes&amp;#250;s L&amp;#243;pez commented on Raven MQ – Principles</title><description>Ayende,
  
  
And are you considering to fall back to long polling when WebSockets is not available at the client side?
</description><link>http://ayende.com/4687/raven-mq-principles#comment28</link><guid>http://ayende.com/4687/raven-mq-principles#comment28</guid><pubDate>Thu, 11 Nov 2010 10:54:20 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Luke,
  
I really like use naming conventions, and it works pretty well in this regard. 
  
It just happens to fall nicely into the REST pattern too.
</description><link>http://ayende.com/4687/raven-mq-principles#comment27</link><guid>http://ayende.com/4687/raven-mq-principles#comment27</guid><pubDate>Thu, 11 Nov 2010 10:24:30 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Jesus,
  
I plan to use WebSockets, not long polling, but essentially, yes.
</description><link>http://ayende.com/4687/raven-mq-principles#comment26</link><guid>http://ayende.com/4687/raven-mq-principles#comment26</guid><pubDate>Thu, 11 Nov 2010 10:23:14 GMT</pubDate></item><item><title>Luke Schafer commented on Raven MQ – Principles</title><description>Ayende,
  
  
Would I be somewhere near correct in assuming the usage (or one usage pattern) would be similar to:
  
  
Publish: Post to Stream /stream/service/identifier
  
Subscribe: Get (instant or long-poll) from /stream/service/identifier
  
  
So, the short question, is it modelled on Rest, or is that just the format you decided on for naming streams.
</description><link>http://ayende.com/4687/raven-mq-principles#comment25</link><guid>http://ayende.com/4687/raven-mq-principles#comment25</guid><pubDate>Thu, 11 Nov 2010 02:00:52 GMT</pubDate></item><item><title>Luke Schafer commented on Raven MQ – Principles</title><description>@Jesus - It seems very likely that this is the case, as I certainly get that feeling from this short post. Even if, in the off chance, that it isn't exposed as such (which really, I'm pretty sure is half the point), a light wrapper would serve to expose a stream ala comet server.
</description><link>http://ayende.com/4687/raven-mq-principles#comment24</link><guid>http://ayende.com/4687/raven-mq-principles#comment24</guid><pubDate>Wed, 10 Nov 2010 23:45:38 GMT</pubDate></item><item><title>Jes&amp;#250;s L&amp;#243;pez commented on Raven MQ – Principles</title><description>Ayende,
  
  
Can it be used as a kind of Comet server where javascript clients (browsers) long poll queues for events (or messages)?
</description><link>http://ayende.com/4687/raven-mq-principles#comment23</link><guid>http://ayende.com/4687/raven-mq-principles#comment23</guid><pubDate>Wed, 10 Nov 2010 18:14:43 GMT</pubDate></item><item><title>Periop IT commented on Raven MQ – Principles</title><description>I can not wait to see this product in action.  To me it seems like the answer to using messaging with Smart Clients especially when you need to publish events to smart clients not located on the same subnet.  Could this be used with Windows Phone 7?
</description><link>http://ayende.com/4687/raven-mq-principles#comment22</link><guid>http://ayende.com/4687/raven-mq-principles#comment22</guid><pubDate>Wed, 10 Nov 2010 15:57:44 GMT</pubDate></item><item><title>Igor Loginov commented on Raven MQ – Principles</title><description>Great! Exactly what I wanted to hear. Eager to see it in live.
</description><link>http://ayende.com/4687/raven-mq-principles#comment21</link><guid>http://ayende.com/4687/raven-mq-principles#comment21</guid><pubDate>Wed, 10 Nov 2010 15:20:04 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Igor,
  
Of course.
  
In fact, the way it works, the client keeps track of its last seen ID.
  
That is how you ensure that you aren't getting the same message twice.
</description><link>http://ayende.com/4687/raven-mq-principles#comment20</link><guid>http://ayende.com/4687/raven-mq-principles#comment20</guid><pubDate>Wed, 10 Nov 2010 14:54:04 GMT</pubDate></item><item><title>Igor Loginov commented on Raven MQ – Principles</title><description>Ayende, and will it be possible to query not only full historical set of messages, but also a subset starting from particular time or particular message ID ?
</description><link>http://ayende.com/4687/raven-mq-principles#comment19</link><guid>http://ayende.com/4687/raven-mq-principles#comment19</guid><pubDate>Wed, 10 Nov 2010 14:49:06 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Periop,
  
Probably, and I would like to keep options open on that.
  
I'll say that I have passing tests right now :-)
</description><link>http://ayende.com/4687/raven-mq-principles#comment18</link><guid>http://ayende.com/4687/raven-mq-principles#comment18</guid><pubDate>Wed, 10 Nov 2010 14:01:24 GMT</pubDate></item><item><title>Periop IT commented on Raven MQ – Principles</title><description>Do you think this is something that could be integrated into NServiceBus? When to you plan to have a working version of this Raven MQ?
</description><link>http://ayende.com/4687/raven-mq-principles#comment17</link><guid>http://ayende.com/4687/raven-mq-principles#comment17</guid><pubDate>Wed, 10 Nov 2010 13:54:20 GMT</pubDate></item><item><title>Igor Loginov commented on Raven MQ – Principles</title><description>Generally speaking, you can avoid deletion by ID, Then you will need only a truncate operation (or kind of archiving). Actually, the source of my association is how database for SMS processing works - no updates and deletes... Again, never mind.
</description><link>http://ayende.com/4687/raven-mq-principles#comment16</link><guid>http://ayende.com/4687/raven-mq-principles#comment16</guid><pubDate>Wed, 10 Nov 2010 11:28:41 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Igor,
  
I suppose so. Take note that messages are deleted eventually.
  
And we will probably have to do replication and point to point at some point, so it is a bit more complex than that.
</description><link>http://ayende.com/4687/raven-mq-principles#comment15</link><guid>http://ayende.com/4687/raven-mq-principles#comment15</guid><pubDate>Wed, 10 Nov 2010 10:49:51 GMT</pubDate></item><item><title>Igor Loginov commented on Raven MQ – Principles</title><description>Let me explain. Your stream concept actually means that you keep all the messages in your centralized storage (i.e., you don't delete them). Messages are not being updated as well - a new message is placed instead. And finally, your storage is centralized. So, it looks like an event triggered DB without update and delete operations. Anyway, it's just another point of view, never mind.
  
  
Now I am interested in something like you described. I tried Laharsub mentioned above, and another promising project - nvents.org. But your idea looks more complete
</description><link>http://ayende.com/4687/raven-mq-principles#comment14</link><guid>http://ayende.com/4687/raven-mq-principles#comment14</guid><pubDate>Wed, 10 Nov 2010 10:46:36 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Igor,
  
I think that I need more information to understand what you mean.
  
And there will be a .NET Client API
</description><link>http://ayende.com/4687/raven-mq-principles#comment13</link><guid>http://ayende.com/4687/raven-mq-principles#comment13</guid><pubDate>Wed, 10 Nov 2010 10:23:44 GMT</pubDate></item><item><title>Igor Loginov commented on Raven MQ – Principles</title><description>Ayende, it looks more like a new type of database engine with select an insert but without update and delete (which should be fast), extended with publisher-subscriber mechanism. Isn't it? And what about non-web .NET client?
</description><link>http://ayende.com/4687/raven-mq-principles#comment12</link><guid>http://ayende.com/4687/raven-mq-principles#comment12</guid><pubDate>Wed, 10 Nov 2010 10:19:39 GMT</pubDate></item><item><title>Ayende Rahien commented on Raven MQ – Principles</title><description>Darius,
  
With MSMQ, RabbitMQ, etc - it is expensive to create a queue. You wouldn't create thousands of them or create/destroy queues on the fly.
  
</description><link>http://ayende.com/4687/raven-mq-principles#comment11</link><guid>http://ayende.com/4687/raven-mq-principles#comment11</guid><pubDate>Wed, 10 Nov 2010 09:58:08 GMT</pubDate></item><item><title>Darius Damalakas commented on Raven MQ – Principles</title><description>&gt;&gt;&gt; Unlike in most queuing systems, queues are cheap.
  
By " most queuing systems", what do you mean?  
  
  
Sound like in most of the products queues are expensive from your point of saying. (Which in my experience is not true)
</description><link>http://ayende.com/4687/raven-mq-principles#comment10</link><guid>http://ayende.com/4687/raven-mq-principles#comment10</guid><pubDate>Wed, 10 Nov 2010 09:53:29 GMT</pubDate></item><item><title>Luke Schafer commented on Raven MQ – Principles</title><description>Reshef - CQRS is irrespective of messaging, let alone a particular messaging implementation (which this is). Instead, try thinking about Raven MQ in a way that directly supports a CQRS implementation (as I think Ayene may have been alluding to)
</description><link>http://ayende.com/4687/raven-mq-principles#comment9</link><guid>http://ayende.com/4687/raven-mq-principles#comment9</guid><pubDate>Wed, 10 Nov 2010 03:15:56 GMT</pubDate></item><item><title>Richard Dingwall commented on Raven MQ – Principles</title><description>Reminds me of XMPP. Effectively a message bus but with a more instant-messaging-inspired architecture for clients across the web.
</description><link>http://ayende.com/4687/raven-mq-principles#comment8</link><guid>http://ayende.com/4687/raven-mq-principles#comment8</guid><pubDate>Tue, 09 Nov 2010 23:49:39 GMT</pubDate></item><item><title>Reshef commented on Raven MQ – Principles</title><description>Doesn't cqrs already solves this problem? 
  
And, cqrs consolidates the state of the changes to the state instead of letting each client do it for itself.
</description><link>http://ayende.com/4687/raven-mq-principles#comment7</link><guid>http://ayende.com/4687/raven-mq-principles#comment7</guid><pubDate>Tue, 09 Nov 2010 16:08:09 GMT</pubDate></item></channel></rss>