Event driven architecture

TODO

  1. How to use step functions for event based architecture?

Problems with a system using synchronous communication

  1. Complex synchronous communication
  2. Performance issues with one/more services in the design will become bottlenecks for the entire design
  3. Downstream services need to be aware of upstream services’ contracts - request/response DS
  4. Not flexible (Introducing new services in the workflow)
  5. Upstream services have to be available
  6. We may lose requests due to any intermittent failures

Event driven architecture - Event

What is an event?

Event driven architecture - Event

Event driven architecture and services

Loosely coupled services that use asynchronous communication

  1. Subscribe to events generated by other services on Event store
  2. Truly decoupled services
  3. Reliable, resilient and fault-tolerant
  4. asynchronous
  5. better scalable services
  6. non-blocking (reactive)

Uses Event bus

To publish events/messages

e.g.

  1. Kafka
  2. Pulsar

Tags

  1. Comparison between Queues and Topics (SQS and SNS)
  2. Event Sourcing pattern
  3. Message Queues
  4. Spring Cloud Stream
  5. Streaming vs Messaging

TODO

  1. https://ably.com/topic/pub-sub
  2. https://learn.microsoft.com/en-us/azure/architecture/patterns/publisher-subscriber
  3. https://dev.to/anubhavitis/push-vs-pull-api-architecture-1djo

Links to this note