目录
文章目录
单一责任原则
类似于编写函数代码,每个函数只提供一个具体的功能。
例如:你正在构建用于订购披萨的微服务。你可以基于单一责任原则构建下述组件来提供完整的服务,诸如:
- InventoryService
- OrderService
- PaymentService
- UserProfileService
- DeliveryNotificationService
InventoryService 仅仅有获取或更新披萨种类或配料库存相关的API,同样的,其他也只会提供对应功能的 API。
独立数据存储原则
如果你的所有微服务都共享一个数据库,这就违背了使用微服务的目的。因为对这个统一数据库的任何的改变或者故障都会影响到使用该数据库的所有微服务。
根据微服务的需要选择正确的数据库,定制化基础设施以及对应数据的存储,并且让微服务独占它。理想情况下,任何需要访问该数据的其他微服务只能通过拥有写权限的微服务提供的 API 来访问。