Event driven architecture for micro services

This is a work in progress. I am designing an event driven architecture to be used in systems using micro services.

Micro service architecture is popular because it solves few problems in development process. While it solves some problems it also brings in new problems to the table. Bad designs impact micro services harder than monoliths. But this is thought is for another time. 

How micro services talk to each other. In a monolith you have one gigantic database, or you can easily call another component to process the information. In a microservice you can use a Que (or event bus) to pass the information. This is the problem I want to discuss.

Main issue with que is it is not designed for this scenario. There are few products which give a good solution by providing a subscription-based approach. But these are large implementations. Using these is similar to bringing an excavator to plant a sapling in your garden. Yes, many people go with using these large implementations to resolve this issue.

I want to build a lightweight event distributor in dotnet core. 

  • It will be pluggable to your application, or it can be hosted in a container independently. 
  • Communication will be through gRPC between publisher and subscriber.
  • Subscriber can pull the events or only handle pushed events.
  • Events can be stored in a repository through configuration.
It won't have any authentication or authorization features. 

Suggestions are welcome.

Comments

Popular posts from this blog

Greedy computing with API

ChatGPT for cavemen