- 围绕业务域对服务建模 。
- 分散所有资源 。单个团队负责设计和生成服务 。避免共享代码或数据架构 。
- 拥有数据的服务应当有专用的数据存储 。为每个服务和数据类型使用最合适的存储 。
- 服务通过设计完善的 API 进行通信 。避免泄露实现细节 。API 应对域建模,而不是对服务的内部实现建模 。
- 避免服务之间耦合 。耦合的原因包括共享的数据库架构和严格的通信协议 。
- 将身份验证和 SSL 终止等跨领域操作分流到网关 。
- 让网关不必了解域 。网关应处理和路由客户端请求,而无需了解业务规则或域逻辑 。否则,网关会变成一个从属物,从而导致服务之间耦合 。
- 服务应具有松散耦合和高功能内聚的特点 。应当将可能会一起更改的函数打包并部署在一起 。如果它们驻留在不同的服务中,这些服务最终会紧密耦合,因为一个服务中的更改将需要更新其他服务 。两个服务之间的通信过于频繁可能是紧密耦合和低内聚的征兆 。
- 隔离故障 。
转自:https://docs.microsoft.com/zh-cn/azure/architecture/guide/architecture-styles/microservices
【微软关于微服务体系结构的理解】
推荐阅读
- 抖音里的红包怎么提现到微信 抖音怎么领红包提现
- 关于茶香你了解多少呢
- 春招|工商银行春招开启,入职新增“人才津贴”,就是门槛稍微高了点
- 注意!别被这些微信风控吓倒了
- 你真的了解微信吗?7个叹为观止的隐藏技巧,1分钟熟知微信
- 速看!微信转账后想要获得带对方真实姓名的转账凭证,你得这么做!抓紧收藏!
- 微信占了手机很大内存,除了删除数据,还有哪些办法释放内存吗?
- 被好友悄悄拉黑?微信右上角这个功能很实用,可以显示“黑名单”
- 微信显示“正在输入”,其实不是在回复消息,背后原因挺“伤人”
- 微信怎样查看银行卡余额?只用这样操作,就能做到一键查询