Skip to Content
Cloud Native Java
book

Cloud Native Java

by Josh Long, Kenny Bastani
August 2017
Intermediate to advanced content levelIntermediate to advanced
648 pages
15h 52m
English
O'Reilly Media, Inc.
Content preview from Cloud Native Java

Chapter 10. Messaging

Messaging supports connecting publishing application events to services across processes and networks. Messaging has a lot of applications, many of which Martin Fowler captures in this blog post, What do you mean by “Event-Driven”?:

  • Event notifications: One system sends event messages to notify other systems of a change in the domain. There is no expectation that the recipient of the message produce a reply. The source system doesn’t expect it, and doesn’t use it. The event notification is immutable, which means that the contents of the event message should not include data that has been modified after the event was generated.

  • Event-carried state transfer: These are events where a message does not contain any data that requires the receiver to call back to the source system. These forms of event messages will include everything the recipient will need to process an event.

  • Event sourcing: Event sourcing is a practice that includes storing a log of domain events that have caused the state of the system to change over time. In this scenario, events can be replayed from any point in time to recreate the current state of the system.

Message brokers like Apache Kafka, RabbitMQ, ActiveMQ, or MQSeries act as the repository and hub for messages. Producers and consumers connect to a message broker, not to each other. Traditional brokers are fairly static, but offerings like RabbitMQ and Apache Kafka can scale as needed. Messaging systems decouple producer from ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Cloud Native Java with Kubernetes, 2nd Edition

Cloud Native Java with Kubernetes, 2nd Edition

Josh Long
Cloud Native Patterns

Cloud Native Patterns

Cornelia Davis

Publisher Resources

ISBN: 9781449374631Errata PageSupplemental Content