在对复杂的业务系统进行微服务的拆分时应该注意什么

  • 时间:
  • 浏览:4
  • 来源:彩神官网

原文地址:http://blog.720ui.com/2017/msa_design/

白岳

微服务要要怎样拆分,是否拆分粒度越小越好?一般情況下,对于服务的拆分未必越小越好,甚至极端的案例是把一块功能拆分成另有另一个 服务,你你这个 做法是不对的。因此,拆分粒度应该保证微服务具有业务的独立性与完正性,服务的拆分围绕业务模块进行拆分。类似将 VR 资讯系统进行服务拆分,分为资讯系统、话题系统、日报系统、百科系统另一个微服务系统。

总结下,服务的拆分是另有另一个 非常有学问的技术活,要围绕业务模块进行拆分,拆分粒度应该保证微服务具有业务的独立性与完正性,尽导致 少的发生服务依赖,链式调用。因此,在实际开发过程中,有的后后单体架构更加适合当前的项目。实际上,微服务的设计并完正都在一蹴而就的,它是另有另一个 设计与反馈过程。因此,亲戚亲戚亲戚亲戚朋友在设计之初可不还还里能 将服务的粒度设计的大某些,并考虑其可扩展性,随着业务的发展,进行动态地拆分也是另有另一个 不错的选取。

因此,所以 情況下,服务的拆分围绕业务模块进行拆分是四种 理想情況下的拆分辦法 ,换句话说,亲戚亲戚亲戚亲戚朋友在架构设计 之初就假定亲戚亲戚亲戚亲戚朋友可不还还里能 掌握一切。然而,不同的服务导致 由不同的团队开发与维护,实际场景下,微服务的便利性更多的在于团队组织组织结构不让 产生闭环,换句话说,团队组织组织结构可不还还里能 易于开发与维护,便于沟通与媒体媒体合作,因此对于组织组织结构团队就发生很大的沟通成本与媒体媒体合作成本。现在,亲戚亲戚亲戚亲戚朋友来看另有另一个 案例。团队 A 考虑到功能的复用性而开发了另有另一个 “互动组件”,其中包括 “评论模块”功能。此时,团队 B 未必知情也开发了另有另一个 类似的“互动组件”。而团队 C 完正都在你你这个 需求,它知道团队 A 有你你这个 “互动组件”,希望可不还还里能 复用,因此导致 你你这个 “互动组件”在设计的后后更多地考虑了团队 A 的当前业务,如此 很好的复用性,类似不支持“评论盖楼”功能,而导致 团队 A 出于当前某些项目的进度导致 无法马上提供支持,团队 B 评估后决定花一周时间自己开发另有另一个 符合自己业务需求的“互动组件”。此时,各个项目团队个人维护了另有另一个 “互动组件”。此外,亲戚亲戚亲戚亲戚朋友再来看另有另一个 案例。另有另一个 OA 系统拥有“用户管理”、“文件管理”、“公告管理”、“政策管理”、“公文管理”、“任务管理”、“审批管理”等功能,导致 按照微服务架构思想可不还还里能 围绕业务模块进行拆分,因此事实上你你这个 OA 系统的最终用户可不还还里能 了 50 多人,使用微服务架构导致 特别“杀鸡用牛刀”的感觉了。回顾下,第另有另一个 案例中,导致 团队之间的职责与边界导致 了服务的复用发生局限性,甚至造成个人为战的局面,你你这个 情況一般都要公司层面进行规划和统筹。第二案例中,导致 用户量不大,系统所以 简化,使用微服务反而带来了未必要的设计和运维难度,并肩也带来了某些技术的简化度。此外,亲戚亲戚亲戚亲戚朋友还都要考虑服务依赖,链式调用、数据一致性、分布式事务等问题。

猜你喜欢

ASP.NET Core on K8S深入学习(3

_PS:_默认parallelism值为1(1)CloudMan,《每天5分钟玩转Kubernetes》下面是yaml配置文件对于DaemonSet资源清单的定义: 前要都看,

2020-03-22

Linux运维人员需要掌握一门编程语言吗?

我是南非蚂蚁,二个多年从事运维一线工作者,将会想学习Linux运维技能,可看看我录制的运维技术实战视频!最近时不时有同行的大伙将会Linux初学者问我:运维人员否是是须要学一门

2020-03-22

数据进入MaxCompute的N种方式

晋恒浏览量:1618收藏:0下载数:253所需积分:0MaxCompute大数据数据仓库批量计算数据同步所需积分:0下载人数:253立即下载了解更多MaxCompute产品和技

2020-03-21

软硬件一体化的高性能网络

帮助您基于阿里云构建出另1个 隔离的网络环境。您能能完整掌控当时人的虚拟网络,如选用自有IP地址范围、划分网段、配置路由表和网关等...阿里巴巴首席工程师王海勇在2017杭州

2020-03-21

OCR:图文结构理解探索和实践

立足于对政务信息化的深刻理解,在云计算和大数据技术上持续创新,构筑开放共享、敏捷高效、安全可信的政务云基础架构,并通过与政府行业...阿里巴巴自主研发的海量数据实时高并发在线分

2020-03-21