系统微服务化,始于拆分,重在治理

一、 微服务架构的优与劣
微服务架构最近几年发展迅猛,尤其是从2017年以来在业界异常火爆。不论是基于云原生技术的新应用,还是已有的复杂单体应用,都在朝着微服务化的方向进行构建和改造。
  微服务架构带来了很多好处,比如支持小团队快速迭代,引入的复杂度可控,支持独立的运维部署,可按照不同业务压力有针对性的扩缩应用实例,可灵活的组合各服务,支持采用不同的技术栈研发等等。
  同时,企业在进行应用微服务拆分时也出现了很多问题。例如系统部署复杂度增加,服务间调用复杂,本地数据库事务无法保证整体数据一致性,服务依赖关系不够清晰,配置管理难度增大等等。
  可见,微服务的引入有利有弊。如果不能有效的解决其带来的问题,反而会带来额外的负担。在本文中,我们一起分析下在微服务化拆分后,带来的各种问题以及相应的解决办法,同时一起来感受下微服务治理平台一站式解决方案带来的强大体验。

二、系统微服务化,始于拆分,重在治理
微服务并不是解决问题的“银弹”
如何针对原有的复杂单体应用进行合理的拆分,是应用微服务化需要考虑的第一件事。
  微服务拆分带来了一系列的问题,比如:
  1)服务间如何进行有效便捷的相互调用;
  2)分散的日志与配置文件如何管理;
  3)如何针对微服务特殊指标进行监控;
  4)调用链路查看与服务依赖计算如何进行;
  5)服务的稳定性如何控制;
  6)数据的最终一致性怎样保证;
  在这里插入图片描述
这些问题中,甚至有些问题被认为是业界公认的难点。如何完美的解决这些难题,就是微服务治理平台需要面对的任务。
微服务拆分,要有自己的理论依据
  微服务拆分,有其特殊的拆分原则和理论依据。按照这些规范拆分出的微服务应用,最终才能更加有效的组合在一起,发挥整体威力。
  在这里插入图片描述
  面对复杂的业务架构时,DDD(领域驱动设计)理论和微服务拆分很好的结合在一起。它通过分层、领域模型、上下文、事件、聚合等,对业务系统进行设计、拆分;同时,我们也有康威定律、AKF等理论的支持。再有就是一些项目上的落地的实践经验,如《微服务7步设计法》等,也可以提供很好的借鉴。
  通过这些理论依据和实践经验,可以帮助大家按照单一职责、小粒度、小团队等原则拆分服务,同时避免双向和循环依赖。但是只有这些理论基础是远远不够的,任何一个业务应用的微服务拆分,都需要和具体的业务场景相结合;其具体的拆分任务需要由系统使用者、业务架构师、技术架构师共同参与,合理的规划,避免纸上谈兵和过度设计。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值