Microservices Design Patterns

To begin with, what are Microservices?

Pros?

  • reduce complexity
  • reduce risk
  • easier to develop in parallel
  • scale
  • cost-effectiveness(services that have less CPU utilization can be run with fewer resources)
  • flexibility(each module can be built which technology that fits the job)

Cons?

  • Requires extra time to set up and managing independent parts for deployment processes
  • Too many repos to handle(many overheads)
  • Switching between projects for development is cognitive overload

So what are the ways to build a good solution to compose microservices together?

  • Asynchronous Messaging Microservice Pattern
  • Shared Data Microservice Pattern
  • Aggregator Microservice Pattern
  • Proxy Pattern
  • Chained Microservice Pattern
  • Branch Microservice Pattern

Asynchronous Messaging Microservice Pattern

Shared Data Microservice Pattern

https://www.javacodegeeks.com/2015/04/microservice-design-patterns.html

Aggregator Microservice Pattern

https://www.javacodegeeks.com/2015/04/microservice-design-patterns.html

Proxy Pattern a.k.a Circuit Breaker Pattern

https://www.javacodegeeks.com/2015/04/microservice-design-patterns.html

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store