SpringCloud gateway+zookeeper實現(xiàn)網(wǎng)關(guān)路由的詳細搭建
準備工作
需要兩個項目去實現(xiàn)路由
demo1為springboot項目用于接入網(wǎng)關(guān),測試網(wǎng)關(guān)連通性
gateway為網(wǎng)關(guān)路由項目
網(wǎng)關(guān)搭建
1.電腦安裝好zookeeper,并且正常運行服務(wù)
Zookeeper官網(wǎng)
2.創(chuàng)建一個spring cloud gateway項目,并引入zookeeper功能
pom文件配置
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> <exclusions> <exclusion> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.8.0</version> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies>
創(chuàng)建好項目后,啟動類要啟用服務(wù)發(fā)現(xiàn)功能
@EnableDiscoveryClient
@SpringBootApplication @EnableDiscoveryClient public class GatewayApplication { public static void main(String[] args) { SpringApplication.run(GatewayApplication.class, args); } }
為了方便配置,將application.properties改成yml
以下是第一部分配置,8080端口會與zookeeper服務(wù)沖突,二選一調(diào)整端口
server: port: 8090 spring: application: name: rmx-gateway cloud: zookeeper: connect-string: 127.0.0.1:2181
配置完以后,先啟動zookeeper服務(wù),再啟動gateway項目,一定要有先后順序(順序反了,會導(dǎo)致項目無法啟動)
當(dāng)gateway項目啟動完成以后,去zookeeper服務(wù)里面去查詢是否成功接入該項目服務(wù)
以下是一種查看服務(wù)是否接入的方法
啟動zkCli.cmd,這個是client端
啟動后,在控制臺輸入ls /services,查看到自己的gateway項目名字后,即可確定已經(jīng)接入了
測試網(wǎng)關(guān)功能
這一步我們需要創(chuàng)建個springboot項目,并引入zookeeper服務(wù)發(fā)現(xiàn)
pom.xml文件
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId> <version>3.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
先配置測試項目的application
server.port=8091 spring.application.name=rmx-demo spring.cloud.zookeeper.connect-string=127.0.0.1:2181
配置完以后,試著啟動一下,啟動完以后順帶進入zookeeper查看服務(wù)是否被接入
這時候zookeeper已經(jīng)可以接入網(wǎng)關(guān)和測試項目了,但是網(wǎng)關(guān)和測試項目的路由還沒有實現(xiàn),我們需要停掉網(wǎng)關(guān)項目,把測試項目配置進入網(wǎng)關(guān)
回到網(wǎng)關(guān)的application.yml,并在里面加入路由配置
srping.cloud.gateway.routes就是路由的配置,這里使用路徑配置,方便測試,Path后面輸入對應(yīng)的controller入口
yml的完整內(nèi)容
server: port: 8090 spring: application: name: rmx-gateway cloud: zookeeper: connect-string: 127.0.0.1:2181 gateway: routes: - id: demo1 uri: http://localhost:8091 predicates: - Path=/test
在測試項目中寫一個測試controller,路徑與配置的名稱保持一致
@RestController public class TestController { @PostMapping("/test") public String post(){ return "端口接通"; } }
兩者都弄好后,再將這兩個項目啟動,然后測試路由是否成功
先測試直接用8091測試項目的端口去調(diào)用接口
再測試用路由端口8090調(diào)用接口,看是否接通
如果都調(diào)用成功,則路由實現(xiàn)完成
到此這篇關(guān)于SpringCloud gateway+zookeeper實現(xiàn)網(wǎng)關(guān)路由的文章就介紹到這了,更多相關(guān)SpringCloud gateway zookeeper網(wǎng)關(guān)路由內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Eclipse創(chuàng)建JavaWeb工程的完整步驟記錄
很多新手不知道Eclipse怎么創(chuàng)建Java Web項目,一起來看看吧,這篇文章主要給大家介紹了關(guān)于Eclipse創(chuàng)建JavaWeb工程的完整步驟,需要的朋友可以參考下2023-10-10Eclipse引用XSD實現(xiàn)XML配置文件提示標(biāo)簽的方法
今天小編就為大家分享一篇關(guān)于Eclipse引用XSD實現(xiàn)XML配置文件提示標(biāo)簽的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03SpringBoot+logback默認日志的配置和使用方式
這篇文章主要介紹了SpringBoot+logback默認日志的配置和使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05一文學(xué)透ApplicationContext繼承接口功能及與BeanFactory區(qū)別
這篇文章主要為大家介紹了ApplicationContext繼承接口功能及與BeanFactory區(qū)別示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04