Design Patterns
Cloud Patterns
Bulkhead
Choreography
Command and Query Responsibility Segregation (CQRS)
Event sourcing
Saga
Strangler
Software Design Patterns
Inversion of control & dependency injection
Martin Fowler website page - January 23, 2004
Microservice
Microservices are small, modular, and independently deployable services. Docker containers (for Linux and Windows) simplify deployment and testing by bundling a service and its dependencies into a single unit, which is then run in an isolated environment.
Articles:
DDD (Domain Driven Design)
Read:
Definition on wikipedia
Starting point with Tackle Business Complexity in a Microservice with DDD and CQRS Patterns
Code examples:
Hexagonal Architecture
If you're French, you can look at this article from Octo.
Feature flags
Feature flags are a great way to do continuous delivery with the latest source code and activate when needed new functionalities. But there is a cost that is described in an article from opensource.
Communication
Two standards are recommended:
gRPC
As of 2019, REST is still more widely used but gRPC contains great improvements and will be used more and more for new microservices.
You can easily find comparison between REST and gRPC on the internet, for example code.tutsplus.com. There is an interesting summary on docs.microsoft.com.
Active Record Patterns
Autentication
Refresh tokens: auth0.com
Table Data Gateway
Row Data Gateway
Last updated