微服务的拆分原则问题?

按一般原则来讲,微服务的拆分是应该从横向角度进行拆分。但是在一些业务流程中,如果想从纵向角度进行拆分,如何能够更好的实现合理拆分,并且不影响系统的响应时间等性能指标?

3回答

尘世随缘尘世随缘  技术总监 , 上海某互联网金融公司
彬彬zhuhaiqiangyinxin赞同了此回答
如何拆分微服务,这个目前没有一个原则或者标准可以参考,但是大范围可以看到:1、单一职责、高内聚低耦合:简单来说一张表划分为一个服务2、服务粒度适中:服务不要太细(有的团队甚至一个接口一个服务)3、 以业务模型切入:比如产品,用户,订单为一个模型来切入4.、演进式拆分:刚开始不要...显示全部

如何拆分微服务,这个目前没有一个原则或者标准可以参考,但是大范围可以看到:
1、单一职责、高内聚低耦合:简单来说一张表划分为一个服务
2、服务粒度适中:服务不要太细(有的团队甚至一个接口一个服务)
3、 以业务模型切入:比如产品,用户,订单为一个模型来切入
4.、演进式拆分:刚开始不要划分太细,可以随着迭代过程来逐步优化
5.、避免环形依赖与双向依赖:尽量不要做服务之间的循环依赖

收起
 2019-10-21
浏览298
gavin_zhanggavin_zhang  系统架构师 , 某股份制银行
zhuhaiqiang彬彬赞同了此回答
一楼的回答应该已经很全面了,我来补充几点实践的:1 服务分层,将系统的功能进行分层,服务归属于前后中台,层间单向调用,有效控制调用深度2 数据耦合,对于需要跨机事务的拆分,要重点分析,是否可以通过服务功能的调整避免(如将两段式提交变成数据副本的最终一致性),如果确实不行,对拆分...显示全部

一楼的回答应该已经很全面了,我来补充几点实践的:
1 服务分层,将系统的功能进行分层,服务归属于前后中台,层间单向调用,有效控制调用深度
2 数据耦合,对于需要跨机事务的拆分,要重点分析,是否可以通过服务功能的调整避免(如将两段式提交变成数据副本的最终一致性),如果确实不行,对拆分的必要性进行确认。

收起
 2019-10-22
浏览138
狄俄尼索斯狄俄尼索斯  软件架构设计师 , UProject
接着2楼的再补充一点:按照功能重要程度拆分显示全部

接着2楼的再补充一点:按照功能重要程度拆分

收起
 2019-10-31
浏览35
彬彬 邀答

提问者

beatles_wang项目经理, 中国大地财产保险股份有限公司

问题状态

  • 发布时间:2019-10-21
  • 关注会员:4 人
  • 问题浏览:2133
  • 最近回答:2019-10-31
  • 关于TWT  使用指南  社区专家合作  厂商入驻社区  企业招聘  投诉建议  版权与免责声明  联系我们
    © 2019  talkwithtrend — talk with trend,talk with technologist 京ICP备09031017号-30