Eventual provides primitives for Messaging within a Service, including a broadcast emit/subscribe mechanism, and (coming soon) point-to-point Queues and Streams, and Actors.
Messaging can be used to apply a technique known as "choreography". Choreography is a design pattern for communication between services, where each service is responsible for its own behavior and coordination is achieved through asynchronous message-passing.
Difference between Choregraphy and Orchestration
The main difference between orchestration and choreography is that orchestration has a centralized controller that manages the interaction and flow of communication between services, while choreography relies on the autonomous and decentralized behavior of each service to achieve the coordination of the system.
Emit and Subscribe
Point-to-point channels are a way for services to communicate by sending messages from one service to another, where the sender adds messages into a Queue or Stream and the receiver reads and consumes them.
They help services to work independently, control the flow of information, and ensure that messages are processed in the correct order.
Queues or Stream primitives are coming soon.
Actors are self-contained and independent entities that encapsulate both state and behavior, communicating with each other through asynchronous message passing.
Actors are coming soon.