Introduction to message systems
If you need an intro/introduction to any of the following message systems RabbitMQ, Kafka, SQS, Celery, please watch my videos on my YouTube playlist “Introduction to message systems”.
Introduction to RabbitMQ
RabbitMQ is an open-source message-broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQ Telemetry Transport (MQTT), and other protocols.
Written in Erlang, the RabbitMQ server is built on the Open Telecom Platform framework for clustering and failover.
Client libraries to interface with the broker are available for all major programming languages.
The source code is released under the Mozilla Public License.
Originally developed by Rabbit Technologies Ltd. which started as a joint venture between LShift and CohesiveFT in 2007, RabbitMQ was acquired in April 2010 by SpringSource, a division of Vmware.
The project became part of Pivotal Software in May 2013.
Content source:
https://en.wikipedia.org/wiki/RabbitMQ
Introduction to Kafka
Apache Kafka is a distributed event store and stream-processing platform.
It is an open-source system developed by the Apache Software Foundation written in Java and Scala.
The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds.
Kafka can connect to external systems (for data import/export) via Kafka Connect, and provides the Kafka Streams libraries for stream processing applications.
Kafka uses a binary TCP-based protocol that is optimized for efficiency and relies on a “message set” abstraction that naturally groups messages together to reduce the overhead of the network roundtrip.
This “leads to larger network packets, larger sequential disk operations, contiguous memory blocks […] which allows Kafka to turn a bursty stream of random message writes into linear writes.
Kafka was originally developed at LinkedIn, and was subsequently open sourced in early 2011.
Content source:
https://en.wikipedia.org/wiki/Apache_Kafka
Introduction to SQS
Amazon Simple Queue Service (Amazon SQS) is a distributed message queuing service introduced by Amazon.com as a beta in late 2004, and generally available in mid 2006.
It supports programmatic sending of messages via web service applications as a way to communicate over the Internet.
SQS is intended to provide a highly scalable hosted message queue that resolves issues arising from the common producer–consumer problem or connectivity between producer and consumer.
Amazon SQS can be described as commoditization of the messaging service.
Well-known examples of messaging service technologies include IBM WebSphere MQ and Microsoft Message Queuing.
Unlike these technologies, users do not need to maintain their own server.
Amazon does it for them and sells the SQS service at a per-use rate.
Amazon provides SDKs in several programming languages including Java, Ruby, Python, .NET, PHP, Go and JavaScript. A Java Message Service (JMS) 1.1 client for Amazon SQS was released in December 2014.
Content source: