| Author |
Message |
< RabbitMQ mailing list ~ a possibility of AMQP/RabbitMQ extension? |
| goryachev |
Posted: Thu Nov 05, 2009 2:36 pm |
|
|
|
User
Joined: 15 Aug 2007
Posts: 16
Location: Moscow, Russia
|
Hello, everyone!
I am very new to AMQP/RabbitMQ and have several (well, mostly
newbie) questions:
0. is it safe to extend AMQP for customer needs (in such way as XMPP
permits to do)?
1. is it possible to use AMQP broker as a sort of key-value storage
instance? Or it seems to be a really bad idea which doesn't match
AMQP pattern?
Thanks.
--
Igor Goryachev E-Mail/Jabber: igor@goryachev.org
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Thu Nov 05, 2009 2:59 pm |
|
|
|
Guest
|
On Thu, Nov 5, 2009 at 2:35 PM, Igor Goryachev <igor@goryachev.org> wrote:
> Hello, everyone!
>
> I am very new to AMQP/RabbitMQ and have several (well, mostly
> newbie) questions:
>
> 0. is it safe to extend AMQP for customer needs (in such way as XMPP
> permits to do)?
I am not sure about XMPP permits *but*
1. AMQP is 'programmable' so you can set up lots of messaging
applications by customer need.
2. You can write custom routers aka "exchanges" eg for content based routing
3. RabbitMQ supports plugins, see eg
http://www.lshift.net/blog/2009/10/26/http-routing-with-rabbitmq-and-trapeze
> 1. is it possible to use AMQP broker as a sort of key-value storage
> instance? Or it seems to be a really bad idea which doesn't match
> AMQP pattern?
AMQP has destructive reads ie. 'get message', whereas with a long term
store you want non-destructive reads. So, currently I would say No to
that. It's an interesting idea though.
alexis
>
> --
> |
|
|
| Back to top |
|
| goryachev |
Posted: Thu Nov 05, 2009 4:28 pm |
|
|
|
User
Joined: 15 Aug 2007
Posts: 16
Location: Moscow, Russia
|
Alexis Richardson <alexis.richardson@gmail.com> writes:
> 1. AMQP is 'programmable' so you can set up lots of messaging
> applications by customer need.
BTW, is it safe to implement i.e. custom methods or some other 'core'
features?
> 2. You can write custom routers aka "exchanges" eg for content based routing
>
> 3. RabbitMQ supports plugins, see eg
> http://www.lshift.net/blog/2009/10/26/http-routing-with-rabbitmq-and-trapeze
Ok. I have already played a bit with rabbit's plugin API inside
'umbrella' development environment. It seems to be fine enough and
really works for me.
> AMQP has destructive reads ie. 'get message', whereas with a long term
> store you want non-destructive reads. So, currently I would say No to
> that. It's an interesting idea though.
Well, then we will use real kv-database for this kind of task (at least
for now) and continue using rabbitmq as our middleware service.
Thank you very much for such a quick answer!
--
Igor Goryachev E-Mail/Jabber: igor@goryachev.org
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Thu Nov 05, 2009 8:40 pm |
|
|
|
Guest
|
On Thu, Nov 5, 2009 at 4:28 PM, Igor Goryachev <igor@goryachev.org> wrote:
> Alexis Richardson <alexis.richardson@gmail.com> writes:
>
>> 1. AMQP is 'programmable' so you can set up lots of messaging
>> applications by customer need.
>
> BTW, is it safe to implement i.e. custom methods or some other 'core'
> features?
I'm not sure what you mean - do you mean modifying the source of the
broker? Or something else?
>> 2. You can write custom routers aka "exchanges" eg for content based routing
>>
>> 3. RabbitMQ supports plugins, see eg
>> http://www.lshift.net/blog/2009/10/26/http-routing-with-rabbitmq-and-trapeze
>
> Ok. I have already played a bit with rabbit's plugin API inside
> 'umbrella' development environment. It seems to be fine enough and
> really works for me.
>
>> AMQP has destructive reads ie. 'get message', whereas with a long term
>> store you want non-destructive reads. |
|
|
| Back to top |
|
| goryachev |
Posted: Fri Nov 06, 2009 8:58 am |
|
|
|
User
Joined: 15 Aug 2007
Posts: 16
Location: Moscow, Russia
|
Alexis Richardson <alexis.richardson@gmail.com> writes:
>> BTW, is it safe to implement i.e. custom methods or some other 'core'
>> features?
>
> I'm not sure what you mean - do you mean modifying the source of the
> broker? Or something else?
I meant modifying AMQP proto itself (then of course modifying broker and
client source core accordingly).
Well, yet another dummy question. Is it possible to get particular
message from the queue? I.e. there three messages waiting in queue,
'message_a', 'message_b' and 'message_c'. Is there any chance to get
'message_b' while not even touching other messages? I guess it is
impossible, but I want to get sure.
--
Igor Goryachev E-Mail/Jabber: igor@goryachev.org
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Fri Nov 06, 2009 9:11 am |
|
|
|
Guest
|
Igor,
You can get at the messages, but not in a particularly nice or scalable way. If you setup a consumer on the queue without auto-acknowledgment, then you'll receive all of the messages. If you then only acknowledge message B, and then close the channel, the messages will be returned to the queue (and redelivered to other consumers). This probably isn't an approach that is recommended however, since it starts to get very messy once you break beyond simplified examples such as the one you've just posted.
Paul.
On Fri, Nov 6, 2009 at 8:58 AM, Igor Goryachev <igor@goryachev.org (igor@goryachev.org)> wrote:
Quote: Alexis Richardson <alexis.richardson@gmail.com (alexis.richardson@gmail.com)> writes:
>> BTW, is it safe to implement i.e. custom methods or some other 'core'
>> features?
>
> I'm not sure what you mean - do you mean modifying the source of the
> broker? |
|
|
| Back to top |
|
| Guest |
Posted: Fri Nov 06, 2009 10:29 am |
|
|
|
Guest
|
Igor,
Several people have asked about browsing queues, and being able to
read or extract selected messages out of order.
It's an interesting feature because it represents a different way of
thinking about messaging queues: as containers for resources, instead
of as streams of values. It's not obvious whether this difference is
always fundamental.
As you can see from Paul's post below, our current implementation,
which follows the spirit of AMQP as well as the letter, forces you to
take a streams based view. This leads to a number of contortions if
you want to reach into the middle of the stream without disrupting
other consumers.
If you have any thoughts on this let us know.
Re your other question about 'modifying AMQP proto': I think the
safest approach is to say a bit more about what you would like to do,
on this list. We can advise. I would not want to discourage anyone
from messing with the code or the innards of AMQP... but it's 'at your
own risk'
alexis
On Fri, Nov 6, 2009 at 9:11 AM, Paul Jones <pauljones23@gmail.com> wrote:
> Igor,
>
> You can get at the messages, but not in a particularly nice or scalable way.
> If you setup a consumer on the queue without auto-acknowledgment, then
> you'll receive all of the messages. If you then only acknowledge message B,
> and then close the channel, the messages will be returned to the queue (and
> redelivered to other consumers). This probably isn't an approach that is
> recommended however, since it starts to get very messy once you break beyond
> simplified examples such as the one you've just posted.
>
> Paul.
>
> On Fri, Nov 6, 2009 at 8:58 AM, Igor Goryachev <igor@goryachev.org> wrote:
>>
>> Alexis Richardson <alexis.richardson@gmail.com> writes:
>>
>> >> BTW, is it safe to implement i.e. custom methods or some other 'core'
>> >> features?
>> >
>> > I'm not sure what you mean - do you mean modifying the source of the
>> > broker? |
|
|
| Back to top |
|
|
|
All times are GMT
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
|