Microservices-Saga-EDA: Intro

Hey folks!, It’s been long since I posted a blog 😀. Few months before, my guru Sriram Ganesan came up with an interesting and a challenging topic. As we shared similar interests and thoughts around getting this implemented, without any second thought we took this up and started to do it from scratch!

As we all use online shopping nowadays, it will be easier for us to relate things as we proceed along with this series. Not every one of us get a chane to work in Amazon/Flipkart to know the challenges that they might have faced or to design a module inside a giant e-commerce applicaiton. So we thought e-commerce would be an apt scenario for us to implement this Event driven microservices solution.

In our daily work life, we used to hear a lot about microservices, but if we dig deeper and look at our architecture or the way we implemented our solution it might not adhere to the microservices pattern. In fact there are lot of misconceptions about this pattern being implemented in real time.

So, we decided to start with this experiment to cover all the challenges as an architect or as a developer we might face along this road and also break these myths among the developers. I assure you by the end of this series, Microservices pattern will no longer be a myth and hopefully we will see a lot architects/developers out there will initiate these in the real time wherever it is relevant.

Below are the wider topics that will be covered along this series. We can expect multiple sub series which will be updated as we progress along with this implementations.

  • Event storming
  • Saga Choreography pattern
  • Transactional Outbox pattern
  • CQRS (Command and Query Responsibility Segregation)
  • Materialized View pattern
  • Kafka as an event streamer(Possible sub-series)
  • Async APIs
  • Observability (Possible sub-series)
    • Distributed Tracing
    • OTEL logs & Metrics
    • JAEGER integration

Microservices-Saga-EDA - Currently this is in private mode (28/10/2022).

If you wish to contribute to this project please reach out to Sriram Ganesan for getting access to this repo