Common Patterns in Distributed Systems

Sample application:

https://github.com/microservices-patterns/ftgo-application

http://eventuate.io/exampleapps.html

Microservices Patterns: https://microservices.io/patterns/index.html

Enterprise Integration Patterns: https://www.enterpriseintegrationpatterns.com/patterns/messaging/

Configuration Management

Centralizing configuration and secret values:

Service Discovery

Client make request to Service Registry or Load Balancer (Router):

Apache Consul – is a service discovery with a REST, Health Checking, Service Segmentation. Has own distributed key value store.

Netflix Eureka – service discovery tool, mostly AWS. As part of Netflixes load balancers and failover.

Circuit Breakers

Handle remote call fails – once the failures reach a certain threshold, the circuit breaker trips, and all further calls to the circuit breaker return with an error, without the protected call being made at all.

Intelligent Routing

Zuul – routing external traffic, applying filters (authentication and security) preventing DDoS, static response handling

Micro-proxy

Routing request from outside between services

Control Bus

Control (send/read events asynchronously) distributed systems (message bus) in Spring Integration

One-time Tokens

Token – token is a simple string that represents a user that we have previously validated. Can be stored in database or use encryption on user data

Global Locks

Leadership Election

Service leadership

Distributed Sessions

Cluster State

Leave a comment

Your email address will not be published. Required fields are marked *