Reliably publish and consume events/messages using the transactional outbox and inbox patterns. Use when you need consistent state changes + message publishing without distributed transactions.