Messaging
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.
aka. Choreography
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.
See the Event and Subscription documentation or more information on how to implement choreography into your Service.
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.
See the Orchestration concept page or the Workflow documentation for more information on Orchestration.
Emit and Subscribe
Eventual provides Event Schemas and Subscriptions for emitting and subscribing events. Events are emitted to a Service's Event Bus and then routed to Subscriptions.
Point-to-Point(s)
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
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.