Spring Cloud Alibaba迁移指南(四):零代码兼容 Api-Gateway
绿茶
楼主
发布于 2023-10-29 07:21:44
阅读 1210
查看全部
自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开端制作《Spring Cloud Alibaba迁移指南》系列文章,向开发者提供更多的技术选型方案,并降低迁移过程中的技术难度。
第一篇:一行代码从 Hystrix 迁移到 Sentinel
第二篇:零代码交换 Eureka
第三篇:极简的 Config
假设你为 Api-Gateway(可能是 Zuul,也可能是 spring cloud gateway) 选择了 Eureka 为注册中心, 找不到一个适宜的交换方案而苦苦烦恼时,那接下来的内容将是非常值得你一读。
Spring Cloud Alibaba 不论是开源的效劳注册组件还是商业化,都实现了 Spring Cloud 效劳注册的规范规范。这就天然的给开发者提供了一种非常便利的方式将效劳注册中心的 Eureka 迁移到开源的 Nacos。
兼容 Api-Gateway:零代码交换 Eureka
使用 Spring Cloud Alibaba 的开源组件 spring-cloud-starter-alibaba-nacos-discovery 来交换 Eureka,兼容 Api-Gateway(注意: 这里的 Api-Gateway 是一个统称,有可能是基于 Zuul 来实现,也有能可能是基于 spring cloud gateway 来实现。)仅需要完成以下几个简单的步骤即可。
环境准备工作:本地需要装置 Nacos。Nacos 的装置方式也是极其的简单,参考 Nacos 官网。假设如今已经正常启动了 Nacos 。
添加 Nacos 的 pom 依赖,同时去掉 Eureka。 在需要交换的工程目录下找到 maven 的配置文件 pom.xml。添加如下的 pom 依赖:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>0.2.1.RELEASE</version> </dependency>同时将依赖的 spring-cloud-starter-netflix-eureka-client pom 给去掉。 application.properties 配置。 一些关于 Nacos 根本的配置也必需在 application.properties(也可以是application.yaml)配置,如下所示:
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848同时将与 Eureka 相关的配置删除。(可选) 更换 EnableEurekaClient 注解。 假设在你的应用启动程序类加了 EnableEurekaClient 注解,这个时候需要更符合 Spring Cloud 规范的一个注解 EnableDiscoveryClient 。
注意:以上几个步骤不只仅是在集成 Api-Gateway 网关的项目中做相应的更改,通过 Api-Gateway 网关停止转发的后端效劳也都要做相应的更改。
完成以上三个步骤,就已经兼容了 Api-Gateway 网关的路由转发。
关于如何使用 Spring Cloud Alibaba 的商业化组件 ANS 来交换掉 Api-Gateway 的注册中心 Eureka,详细的文档可参考这里。
至此,《Spring Cloud Alibaba迁移指南》系列文章的四篇已全部,若您在迁移过程遇到了其他难题,欢送到Spring Cloud Alibaba@GitHub 提issue,联络我们。
作者:中间件小哥 |
|
|
|
|