Hands-On Microservices with Kotlin
上QQ阅读APP看书,第一时间看更新

Defining design principles

We need to choose a set of principles when we design microservices; each of them will have their own advantage that will be reviewed later on in this chapter, but defining them will also allow us to have a consistent approach for different kinds of problems, and will help others understand our architecture.

The key principles that we are going to define are:

  • Modelled around business capabilities
  • Loosely couple
  • Single responsibility
  • Hiding implementation
  • Isolation
  • Independently deployable
  • Build for failure
  • Scalability
  • Automation