课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都掌握了与微服务技术相关的知识,而今天我们就再来了解一下,微服务拆分都有哪些常用方法。
1、业务领域拆分
基于领域模型,围绕业务界限上下文边界,将同类业务划归为一个微服务,按单一职责原则、功能完整性进行微服务的拆分。
2、需求变化频率
需要识别业务需求的变动频率,考虑业务变化频率与相关度,将业务需求变动较高和功能相对稳定的业务进一步分离拆分。
因为需求的经常性变动必然会导致代码的频繁修改和版本发布,这种拆分可以有效降低频繁发布版本的业务对不需要经常发布版本的业务的影响。
3、服务性能要求
需要识别性能压力较大的业务。因为对性能指标要求高的业务在资源需求上会比其他业务的高,这样可能会拖累其他业务,也会造成资源无谓的浪费。为了降低对系统整体性能和资源要求的影响,我们将对性能方面有较高要求的业务与对性能要求不高的业务进一步拆分。
4、组织架构和团队规模
除非有意识地优化组织架构,否则微服务的拆分应尽量避免对组织架构和团队的调整,避免由于功能的重新划分,而增加大量且不必要的团队之间的沟通成本。
在进行微服务拆分和组建项目团队时,应尽量将沟通边界控制在团队内。
5、安全边界
对于有特殊安全要求的业务,应独立出来,避免因不同的安全要求,而带来不必要的成本,或带来泄密的风险。
6、技术异构
虽然都是在同一个业务领域内,但由于各种条件的限制,在技术实现时可能会存在较大的差异(存在技术异构的问题)。
大部分都是采用Java语言实现,但由于业务场景或者技术条件的限制,有的可能需要采用Go语言实现,甚至有的采用大数据技术架构。
对应这些存在技术异构的业务功能,可以考虑按照技术栈的边界进一步拆分。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。