Previously on MiSeCo
In the last two posts (here and here) I have explained how MiSeCo micro services will communicate between each other and how I am going to implement services discovery. TLDR I’ve decided to use services registry pattern in the way that every service could become one. Fortunately, some of you, readers, pointed out in the comments on reddit (thank you for that), it might not be the best idea… So it got me thinking :)
Change of plans!
I’ve decided to approach this problem differently. It does seem that making every service capable of becoming the main point in the architecture could complicate things. I think it will be better to create a separate application doing just that.
I am going to create a services registry for MiSeCo. It will obviously utilize the framework, but its sole purpose will be to know where each service is hosted. It will also be possible to have few instances running to avoid a single point of failure. The only configuration requirement for all parts of the system will be to have a list of every registry in the system, so if one receives a new registration, it will be able to send it to others. There won’t be a master/slave architecture - all registries will be equal.