从Spring Cloud到UCloud UK8S的微服务迁移实践( 四 )
基于应用程序安全性、可观察性、持续部署、弹性伸缩和性能、对开源工具的集成、开源控制平面的支持、方案成熟度等考虑 , 我们最终选择了 Istio 作为服务治理的方案 , 主要涉及以下几个部分:
1. Istio-gateway 网关:Ingress Gateway 在逻辑上相当于网格边缘的一个负载均衡器 , 用于接收和处理网格边缘出站和入站的网络连接 , 其中包含开放端口和TLS的配置等内容 , 实现集群内部南北流量的治理 。
2. Mesh 网关:Istio内部的虚拟Gateway , 代表网格内部的所有Sidecar , 实现所有网格内部服务之间的互相通信 , 即东西流量的治理 。
3. 流量管理:在去除掉 Spring Cloud 原有的熔断、智能路由等组件后 , 我们通过对 Kubernetes 集群内部一系列的配置和管理 , 实现了 http 流量管理的功能 。 包括使用 Pod签对具体的服务进程进行分组(例如 V1/V2 版本应用)并实现流量调度 , 通过 Istio 内的 Destination Rule 单独定义服务负载均衡策略 , 根据来源服务、URL 进行重定向实现目标路由分流等 , 通过 MenQuota、RedisQuota 进行限流等 。
4. 遥测:通过 Prometheus 获取遥测数据 , 实现灰度项目成功率、东西南北流量区分、服务峰值流量、服务动态拓扑的监控 。
----从Spring Cloud到UCloud UK8S的微服务迁移实践//----
----从Spring Cloud到UCloud UK8S的微服务迁移实践//----
总结
目前我们已将旗下「云客赞」社交电商 App 全部迁移至 UK8S , 开发语言包括Java、PHP-FPM、NodeJS 等等 。 结合CI/CD , 能快速实现服务迭代以及新项目上线 , 大大提升了开发以及运维的工作效率;通过完善的日志、监控、链路跟踪及告警系统 , 能够快速的定位故障 , 并且根据遥测数据提前预判峰值 , 通过HPA实现服务自动伸缩 , 科学的分配资源 , 大大降低了计算资源成本;通过Istio服务治理 , 很好的实现了流量的管理 , 并且基于此轻松的实现了灰度发布 。
从Spring Cloud到UCloud UK8S的微服务迁移实践。 接下来 , 我们将更加丰富CI/CD流水线 , 加入单元测试、代码扫描、性能测试等提升测试效率;引入chatops丰富运维手段;借助Istio实现多云管理进一步保障业务的稳定性 。
从Spring Cloud到UCloud UK8S的微服务迁移实践。 作者:王琼 , 「要出发周边游」运维架构师兼运维经理 , 负责公司云原生落地和企业容器化改造 。 2016年开始接触K8S , 在K8S以及Service Mesh领域持续深耕 , 致力于搭建生产级可用的容器服务平台 。
推荐阅读
- 浅谈SAP S/4HANA Cloud五大价值域
- UCloud华琨:布局新基建,产业互联网和消费互联网一同发力
- 华云大咖说丨安超云套件 Archer CloudSuite产品介绍
- 『spring』Java面试题:Spring如何解决的循环依赖
- 砍柴网百万元 UCDN 资源!UCloud 优刻得推出 IT 技术社区赞助计划
- QingStor NeonSAN跻身四强 新风口下的青云QingCloud正在厚积薄发
- 深扒财经圈spring cloud系列教程第一篇-介绍
- 「集成开发环境」IDEA中 30 秒生成 Spring Cloud Alibaba 工程
- [程序员]一篇能让你涨薪的spring核心概念讲解——快来看看
- 「spring」Spring面试题:SpringBoot开发自定义starter
