Service Mesh迁移原则

网友投稿 709 2022-10-06

Service Mesh迁移原则

Service Mesh迁移原则

Service Mesh迁移过程中需要注意的一些原则,以及如何根据实际使用情况。

1、业务透明

为了减少Service Mesh迁移对业务的影响,减少业务的迁移阻力,迁移刚开始一段时间,必须保证迁移过程中,业务完全透明且不需要有任何变更和修改。方案上,为了保证迁移对业务的完全透明,在数据平面通信上需要采用支持透明拦截的方式,对业务请求流量透明拦截。

2、渐进式迁移

为了减少Service Mesh迁移过程中的风险,必须采用渐进式迁移原则,每次只迁移一个服务,迁移后观察足够长的时间,没有问题后再进行接下来的迁移。同时为了保证在迁移过程中出现问题时,可以随时回退到迁移之前的状态,需要针对每个迁移动作增加一键回滚开关。如果遇到线上问题,可以立即通过开关关闭迁移特性,回归到迁移之前的状态。

3、迁移前后网络打通

如果Service Mesh迁移前后使用不同的网络方案,迁移过程中就会出现已迁移部分和未迁移部分之间的网络无法直接访问的场景。为了应对这种情况,迁移过程中需要将未迁移服务和已迁移服务之间的通信从内网访问修改为外网访问,外网访问和内网访问方案上差异很大,需要通过修改路由配置的方式来支持,对路由配置的频繁修改,无形中会增加迁移出错的概率。

为了保证迁移过程平稳进行,建议Service Mesh迁移前后采用相同的网络地址空间,保证服务迁移前后均可以正常访问,这样迁移过程中网络访问层面对业务透明,业务不需要感知,访问方式也不需要有任何变化。

4、Istio性能

Service Mesh的实践方面,性能是一个永远不能回避的问题,如果当前性能不能满足业务的要求,就不具备在生产环境下使用的条件。对于Istio来说,当前性能确实是阻塞Service Mesh大规模实施的关键因素,引入Istio的目的是解决痛点需求,Istio最有价值的部分是Envoy和Pilot,它们一起完成请求路由转发的配置管理,以及实际的转发。

Mixer架构设计上看起来很美好,但业务实际上并不会过多使用Mixer组件,对扩展性和灵活性也并没有那么高的要求,因此出于性能考量,可以把Mixer相关的功能放到Envoy,只实现最精简、最必要的检查和遥测统计逻辑。

Istio security则需要根据业务的具体情况灵活选取。比如我司业务放在自建机房的私有云中,对于Istio面向的微服务内部的东西向通信来说,在内网环境下不需要考虑过多的安全问题,所以可以直接把安全部分裁掉;当然,如果是在公有云中部署Service Mesh服务,则需要对安全部分更多关注。从解决痛点需求和综合考虑性能,可以先聚焦Istio提供的核心价值,将当前不需要太多关注的部分裁掉。

此外,出于对扩展性的考虑,Istio架构的整体性能会受一定的影响,如果你的业务只运行在特定的平台上,比如Kubernetes,可以根据具体平台对Istio进行相应的定制和优化。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序之新建项目hello WeApp的介绍
下一篇:微信小程序商城项目之购物数量加减(微信小程序购物车加减)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~