如何从单体架构平滑过渡到微服务
2020-02-22 15:36
357 查看
一旦决定在开发实践中引入微服务架构,如何将积累下来的庞大的巨无霸系统润物细无声的过渡到微服务架构将是一个巨大的挑战。同程旅游微服务开发团队给出了他们的建议。
他们认为推倒重来不可取,架构师们最想通过微服务化取代的部分,往往是公司的主要盈利核心,改造难度不亚于飞行中更换引擎。从业界公开的信息来看还没有哪家做到了完美升级, 更多的可能无外乎两种:
- 第一种改造后苟延残喘,研发疲于奔命;
- 另一种则是改造中就直接休克。
1. 培训先行
技术人都善于把面临的问题变成技术问题,然后在自己最擅长的领域去把它解决。这就造成一个悖论:能用技术解决的问题就不是问题,真正的问题在受限的情景下仅靠技术是解决不了的,实施微服务最大的拦路虎也不是技术本身。 从同程微服务团队的实践来看,最大的问题不是如何做好微服务,而是就微服务应该是怎么达成一致的看法。 因此,可以在实施前通过多数人参与大讨论或培训,使认知达成一致。这类似编码规范中的命名规范,使用那种命名方法不重要,重要的是人人都使用同一种命名方法。2. 绞杀者模式
绞杀者模式是指,对于无法通过修缮者模式改进的系统,在系统外重新构建新功能来逐步剥离重构,对功能服务逐个绞杀。好处是不影响原来的环境,一旦条件成熟就能快速切换。而缺点是可能需要一段时间同时维护两套系统,付出额外的开发维护成本。3. 监狱模式
这是同程内部的叫法,允许一些短期无力改动的系统通过监狱窗口(MicroProxy)接入微服务平台并委托 Proxy 将其暴露成微服务,单体架构往往拥有庞大的服务接口梳理, 往往需要开多个监狱窗口。 每个监狱窗口都会被包装分割成微服务,条件成熟了能很方便的替换成原生微服务,称为刑满释放。 以上就是今天的内容,希望能对你有所帮助。 来源:极客时间相关文章推荐
- 应用架构一团糟?如何将单体应用改造为微服务(七)
- 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
- 如何有趣的解释什么是微服务架构
- PPT | 从架构到组件,深挖istio如何连接、管理和保护微服务2.0?
- 孙玄:微服务架构中分布式事务实现方案如何取舍
- 架构如何为业务和技术“服务”(2)
- 我的WCF之旅(5):面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现Service Contract的重载(Overloading)
- 360搜索在微服务架构下的技术平台实践(一) -- 单体架构
- GitChat · 架构 | 为什么微服务实施那么难?如何高效推进微服务架构演进
- 从单体架构升级到微服务,在代码层面应注意的一些问题
- 如何快速搭建一个微服务架构
- 如何做到BMP图象缩放时平滑过渡?
- 孙玄:微服务架构中分布式事务实现方案如何取舍
- 为什么微服务实施那么难?如何高效推进微服务架构演进
- 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
- 如何保障微服务架构下的数据一致性
- 微服务理论与实践(二)---单体架构模式
- 15年架构师杨波:如何落地微服务和云原生架构?丨极客时间
- 华为架构师8年经验谈:从单体架构到微服务的服务化演进之路
- 微服务到单体架构的演变