Pattern: Polling publisher
pattern transactional messaging inter-service communicationContext
You have applied the Transactional Outbox pattern.
Problem
How to publish messages/events into the outbox in the database to the message broker?
Forces
Solution
Publish messages by polling the database’s outbox table.
Examples
- Eventuate Tram framework implements polling.
Resulting context
This pattern has the following benefits:
- Works with any SQL database
This pattern has the following drawbacks:
- Tricky to publish events in order
- Not all NoSQL databases support this pattern
Related patterns
- The Transactional Outbox pattern creates the need for this pattern.
- The Transaction log tailing pattern is an alternative solution
Learn more
- My book Microservices patterns describes this pattern in a lot more detail.
- The Eventuate Tram framework implements this pattern