迁移Spring Cloud应用到OpenShift Service Mesh

本文详细介绍了如何将基于Spring Cloud的应用迁移到OpenShift Service Mesh(Istio)上,包括应用改造、OpenShift配置、Istio配置等步骤,并对比了Spring Cloud和Istio的优缺点。在迁移过程中,需注意服务注册发现的改变、Deployment配置、Service配置以及Istio的Ingress Gateway和VirtualService设置。
摘要由CSDN通过智能技术生成

迁移Spring Cloud应用到OpenShift Service Mesh

前言

本文描述了如何将Spring Boot / Spring Cloud 应用迁移到OpenShift Service Mesh (Istio) 上。

环境:

  • OpenShift 4.6
  • Service Mesh 2.x (Istio 1.6.5)

微服务实现方式对比

下表对比了典型的Spring Cloud应用迁移到OpenShift ServiceMesh后实现微服务方式的区别:

分类 SpringCloud OpenShift ServiceMesh
服务配置 Spring Cloud Config Server ConfigMap, Secret
服务注册与发现 Eureka Etcd + Service + 集群内DNS
负载均衡 Ribbon Service, Istio的Envoy数据平面
服务间调用 OpenFeign 或 RestTemplate 任意HTTP client
路由管理 Zuul 或 Spring Cloud Gateway Istio的VirtualService和DetinationRule
对外API网关 Zuul 或 Spring Cloud Gateway Route,Istio的Ingress gateway和Egress gateway
限流和熔断 Hystrix Istio的Envoy数据平面
服务跟踪和调用链 Zipkin 或 OpenTracing + Jaeger OpenTracing + Jager
服务网络拓扑 Kiali
灰度发布和蓝绿部署 Istio的Envoy数据平面

应用配置

应用改造

Spring Boot应用迁移到Istio,代码无需改动。

但是如果需要用OpenTracing Jaeger来做服务跟踪,则需要按照下面步骤配置。参见:

Spring Cloud应用迁移到Istio,需要将基于Spring Cloud Eureka的服务注册发现,改为基于OpenShift Service的的服务注册发现,否则无法使用Istio的traffic management功能。

OpenShift配置

将项目纳入Istio管理

以Cluster Admin登录,选择istio-system项目,打开Operators / Installed Operators,找到Red Hat OpenShift Service Mesh,点击打开Istio Service Member Roll。

打开d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值