a distinct set of bytes exchanged between two applications All messages contain an IBM MQ message descriptor (MQMD) with control information Optionally applications can add message properties to a message Descriptor Payload (data) properties (optional)
produced and consumed by applications. 2. Queue – An addressable location where messages are delivered and stored reliably until they need to be consumed. 3. Queue manager – This is the actual MQ engine, the server that hosts the queues. 4. Application – ‘MQ clients’ that use MQ libraries to connect to queue managers, put/get messages to and from queues.
two or more applications means that the applications are not communicating directly. Whether one application goes away, or the consuming app is unable to keep up with a temporary spike in requests, message queuing provides a shock absorber that can deal with any issues on either side. As a result, adopting messaging means that applications do not have to be available at the same time, as the queue provides a neutral place where they can exchange data. This model is known as asynchronous messaging.
is a distributed messaging system consisting of a set of brokers A cluster has a minimum of 3 brokers • Each topic is a named stream of messages. • A topic is made up of one or more partitions. • The messages on a partition are ordered by a number called the offset. • Messages for a topic are maintained in the cluster for a specified retention period By having multiple partitions distributed across the brokers, the scalability of a topic is increased.
each topic can be replicated onto multiple brokers. For each partition, one of the brokers is the leader, and the other brokers are the followers. Replication works by the followers repeatedly fetching messages from the leader.
one or more topics. You can configure your producer to prioritize speed or reliability by choosing the level of acknowledgement it receives for messages it publishes. • Fire and forget • Leader ack • All ack Speed Reliability
one or more topics and processes them. The difference between a consumer's current position and the newest message on a partition is known as offset lag. If the lag increases over time, it is a sign that the consumer is not able to keep up. Over the short term, this is not an issue but eventually the consumer could miss messages if the retention period is exceeded.
experiences Proactively push data from your backend systems to your APIs – before it’s required – to make your applications more responsive and the end user experience more delightful Respond to events in real time, as they happen Bring real-time intelligence to your apps Feed Machine Learning models with real-time events to make individual recommendations that evolve as circumstances change, such as fashion recommendations as the trends change… Picture TBD Picture TBD Picture TBD Keep users engaged by capturing real-time data and use it to drive live updates, such as taxi locations, parcel arrival times, order status, or to make more personal offers when it counts Get data to where it’s needed, before it’s needed