Simple Question for : Rabbit MQ vs TCP/ IP connection

1,477 views
Skip to first unread message

muhamed abo-elazm

unread,
Aug 22, 2016, 7:11:19 AM8/22/16
to rabbitmq-users
Hello All, 

I wonder why we need messaging brokers, Can't we simply use TCP/IP packets for sending messages ?

Thank you in Advance. 

Mohamed Abolezm

Karl Nilsson

unread,
Aug 22, 2016, 7:31:33 AM8/22/16
to rabbitm...@googlegroups.com
Hi,

Of course you can just use TCP/IP to send messages and if your requirements are simple this may be the right thing to do. As your requirements expand you may find yourself re-implementing many of the features a message broker provides (Routing, Persistence, Queuing etc.), however.

Look at messaging brokers as implementations of the message broker pattern (http://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageBroker.html). If this is a pattern your application would benefit you may want to consider using a message broker. Many messaging brokers including RabbitMQ provide solutions to many other patterns as well, such as RPC, Topics and PubSub.

Have a look at the RabbitMQ tutorials to learn more: https://www.rabbitmq.com/getstarted.html

Cheers
Karl

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.
To post to this group, send email to rabbitmq-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Karl Nilsson

Staff Software Engineer, Pivotal/RabbitMQ

Michael Klishin

unread,
Aug 22, 2016, 7:56:30 AM8/22/16
to rabbitm...@googlegroups.com
You can use TCP/IP for messaging. But it's very likely that at some point you will need one of the following features:

 * Message routing
 * 1:N or M:N communication patterns 
 * Publisher confirms for your *semantic* messages (not just TCP segments)
 * Message persistence
 * Message replication
 * Client libraries for your solution in more than 1 programming language
 * Timed expiration of messages or priorities

and so on. It's possible to implement them as part of your own apps but you will be reinventing a messaging
broker bit by bit.

Note that this is absolutely not meant to discourage you or say that messaging solutions must
include a dedicated broker in order to be useful. However, in many cases it's simply an easier way as far
as app developers are concerned.

There are (primarily) point-to-point messaging solutions that don't technically have a broker. ZeroMQ and nanomsg are
two examples I'd recommend you take a look at before you begin rolling your own.


--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.
To post to this group, send email to rabbitmq-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
MK

Staff Software Engineer, Pivotal/RabbitMQ

muhamed abo-elazm

unread,
Aug 24, 2016, 5:05:55 AM8/24/16
to rabbitm...@googlegroups.com
Thank you guys for this useful information, It has helped me already and opened the door for new questions and learning. 

Best Regards,
Mohamed Aboelazm

On Mon, Aug 22, 2016 at 1:31 PM, Karl Nilsson <knil...@pivotal.io> wrote:
Hi,

Of course you can just use TCP/IP to send messages and if your requirements are simple this may be the right thing to do. As your requirements expand you may find yourself re-implementing many of the features a message broker provides (Routing, Persistence, Queuing etc.), however.

Look at messaging brokers as implementations of the message broker pattern (http://www.enterpriseintegrationpatterns.com/patterns/messaging/MessageBroker.html). If this is a pattern your application would benefit you may want to consider using a message broker. Many messaging brokers including RabbitMQ provide solutions to many other patterns as well, such as RPC, Topics and PubSub.

Have a look at the RabbitMQ tutorials to learn more: https://www.rabbitmq.com/getstarted.html

Cheers
Karl
On 22 August 2016 at 12:11, muhamed abo-elazm <muhamed...@gmail.com> wrote:
Hello All, 

I wonder why we need messaging brokers, Can't we simply use TCP/IP packets for sending messages ?

Thank you in Advance. 

Mohamed Abolezm

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-users+unsubscribe@googlegroups.com.

To post to this group, send email to rabbitm...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



--
Karl Nilsson

Staff Software Engineer, Pivotal/RabbitMQ

--
You received this message because you are subscribed to a topic in the Google Groups "rabbitmq-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rabbitmq-users/tM6Sh2nsN-s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rabbitmq-users+unsubscribe@googlegroups.com.

To post to this group, send email to rabbitmq-users@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Best Regards,

Mohamed Abo Elazm  
mobile: +20 1111 599 078
address: 13 El-Doki st.- El- Doki - Giza
Reply all
Reply to author
Forward
0 new messages