springcloud gateway 使用nacos 作为配置中心 和 注册中心
大家好,我是烤鴨:
今天分享下 springcloud gateway 使用nacos作為配置中心和注冊(cè)中心,主要是還是配置中心。
源碼下載:
https://gitee.com/fireduck_admin/springcloud-gateway-nacos-demo
1.??本地部署nacos
下載 https://github.com/alibaba/nacos/releases/tag/1.3.2
本地新建nacos數(shù)據(jù)庫(kù),執(zhí)行 conf/nacos-mysql.sql
修改 conf/application.properties 關(guān)于數(shù)據(jù)庫(kù)的配置
spring.datasource.platform=mysql### Count of DB: db.num=1### Connect URL of DB: db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user=root db.password=root啟動(dòng) ./startup.cmd -m standalone,訪問(wèn) localhost:8848 如圖
2.??網(wǎng)關(guān)項(xiàng)目搭建
這里需要注意的是普通項(xiàng)目和 gateway項(xiàng)目 有些不一樣
比如普通項(xiàng)目的 bootstrap.yml,這里不需要寫nacos 地址,指定加載的配置文件 -Dspring.profiles.active=dev/pro
spring:cloud:nacos:config:file-extension: ymlgroup: demo-dickprefix: applicationprofiles:active:'@profiles.active@'在 bootstrap-dev.yml 里再寫地址
spring:cloud:nacos:config:server-addr: localhost:8848但是 gatewway 項(xiàng)目不行,加載順序的問(wèn)題,必須在 bootstrap.yml 指定地址。
${} 可以讀取啟動(dòng)參數(shù),需要在啟動(dòng)時(shí)加上 -Dnacos-server-addr=123.1.1.2:8848,不寫的話就默認(rèn)localhost:8848
spring:cloud:nacos:config:file-extension: ymlgroup: gatewayprefix: applicationserver-addr: ${nacos-server-addr:localhost:8848}3.??nacos集成
gateway 項(xiàng)目nacos 配置,lb://后面的是其他服務(wù)注冊(cè)在nacos上的名稱,也就是spring.applicaiton.name
management:endpoints:web:exposure:include: '*' server:port: 8081servlet:context-path: / spring:application:name: gatewaycloud:gateway:routes:- id: tick-routefilters:- StripPrefix=1predicates:- name: Pathargs[pattern]: /tick/**uri: lb://demo-tick1- id: tick-routefilters:- StripPrefix=1predicates:- name: Pathargs[pattern]: /dick/**uri: lb://demo-dicknacos:discovery:server-addr: localhost:8848password: nacosusername: nacos啟動(dòng)成功拉取nacos配置(端口 8081 生效)
另外兩個(gè)項(xiàng)目就不貼了,源碼地址在文章開(kāi)始。
4.??注冊(cè)中心
可以看到3個(gè)服務(wù)都注冊(cè)成功了。
正常情況下訪問(wèn) http://localhost:8081/dick/dick/abc 和 http://localhost:8081/tick/tick/abc 都可以返回。
動(dòng)態(tài)修改網(wǎng)關(guān)路由:
更新gateway nacos 配置后,lb://demo-tick 改為 demo-tick1 立即生效,無(wú)需重啟。由于找不到 demo-tick1 所以報(bào)錯(cuò)。
5.? 最后說(shuō)一下
關(guān)于上面地址/dick/dick 第一個(gè)是網(wǎng)關(guān)轉(zhuǎn)發(fā)的路由,第二個(gè)是服務(wù)本身的 context-path。
而如果網(wǎng)關(guān)項(xiàng)目用的是域名/gateway 轉(zhuǎn)發(fā)的話,需要為網(wǎng)關(guān)項(xiàng)目加 context-path,具體可以參考?
https://blog.csdn.net/Angry_Mills/article/details/108132203
總結(jié)
以上是生活随笔為你收集整理的springcloud gateway 使用nacos 作为配置中心 和 注册中心的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html5 canvas 笔记五(合成与
- 下一篇: webstorm 破解的方法