The Rise of the Microservices Frameworks.

microservices FrameworksThe Mircroservices reference architecture and the reactive manifesto are sharing a lot of traits, you can join both to benefit from the reactive microservices architecture, for more on that, please check the book by Jonas Bonér, Reactive Microservices Architecture.

Traditionally, the Microservices movement originated and flourished around the fuse of app containers such as Docker and Rocket and the light app frameworks such as Node.js.

The combo would support the Microservices premise on the distributed computing, scalability, resilience and elasticity fronts.

However, there are more design patterns that need to be built into this kind of architecture, few examples below,

The Actor Design Patterns

You can read more about the Actor design patterns in here, in summary, those are a group of design patterns supporting a highly concurrent and distributed system, looking after routing, thread management, locking, throttling and a few more, this is at the core of the message or event driven architectures, check out the Akka implementation here.

Persistence Design Patterns

Domain Driven Design, Event Sourcing and Command Query Responsibility Segregation Design Patterns are designed to increase scalability and resilience, create bounded context for your entity access, separate read from write concerns and create transaction journal instead of thread wait and blocked on completing DB transaction, you can read more on this here and here.

Resilience and Self-Healing

Back Pressure, Event streams, Circuit-breakers and bulk-heading are used to prevent cascading failure and increase fault-tolerance and offloading to avoid complete system failure, you can read more about that in here.

Service Locator

Service locator and discovery provides an abstraction layer that allows the service consumer to intelligently locate an available service without the need to know any of the service physical characteristics, provides more flexibility and supports fault-tolerance, you can read more about this in here.

API Gateway

Microservices gateway is an abstraction layer that safely expose the internal services to the external consumers and providing essential services such as security and authentication (oAuth), protocol transformation, traffic management and analytics for more on the that, please look here.

The above design patterns are the driving force behind the rising Microservices frameworks, one of the leaders in that space is “Lagom”, an open source framework that is supported in the Enterprise and production ready by Lightbend.

You can easily get a Lagom test environment up and running in short time where you can test and try those design patterns in action including the persistence ones.

Here are some useful Lagom links, Introduction, Internal Components and Technology, Try Lagom.

Disclaimer

Those are my personal views and not representing the people I worked with, the companies I worked for, or my/our past and present customers in any shape or form. Any resemblance to real life use cases or situations is accidental and not intentional in any way, shape or form.

Hope this is helping some and again I understand other’s experience and views could be completely different than mine and I completely respect that.