做视频网站的挣钱吗,做服装招聘的网站有哪些,冀州网站制作,太原网页设计培训班大家好#xff0c;我是烤鸭#xff1a;
今天分享下 springcloud gateway 使用nacos作为配置中心和注册中心#xff0c;主要是还是配置中心。
源码下载#xff1a;
https://gitee.com/fireduck_admin/springcloud-gateway-nacos-demo
1. 本地部署nacos
下载 https://g…大家好我是烤鸭
今天分享下 springcloud gateway 使用nacos作为配置中心和注册中心主要是还是配置中心。
源码下载
https://gitee.com/fireduck_admin/springcloud-gateway-nacos-demo
1. 本地部署nacos
下载 https://github.com/alibaba/nacos/releases/tag/1.3.2
本地新建nacos数据库执行 conf/nacos-mysql.sql
修改 conf/application.properties 关于数据库的配置
spring.datasource.platformmysql### Count of DB:
db.num1### Connect URL of DB:
db.url.0jdbc:mysql://127.0.0.1:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTC
db.userroot
db.passwordroot
启动 ./startup.cmd -m standalone访问 localhost:8848 如图 2. 网关项目搭建
这里需要注意的是普通项目和 gateway项目 有些不一样
比如普通项目的 bootstrap.yml这里不需要写nacos 地址指定加载的配置文件 -Dspring.profiles.activedev/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 项目不行加载顺序的问题必须在 bootstrap.yml 指定地址。
${} 可以读取启动参数需要在启动时加上 -Dnacos-server-addr123.1.1.2:8848不写的话就默认localhost:8848
spring:cloud:nacos:config:file-extension: ymlgroup: gatewayprefix: applicationserver-addr: ${nacos-server-addr:localhost:8848}
3. nacos集成
gateway 项目nacos 配置lb://后面的是其他服务注册在nacos上的名称也就是spring.applicaiton.name
management:endpoints:web:exposure:include: *
server:port: 8081servlet:context-path: /
spring:application:name: gatewaycloud:gateway:routes:- id: tick-routefilters:- StripPrefix1predicates:- name: Pathargs[pattern]: /tick/**uri: lb://demo-tick1- id: tick-routefilters:- StripPrefix1predicates:- name: Pathargs[pattern]: /dick/**uri: lb://demo-dicknacos:discovery:server-addr: localhost:8848password: nacosusername: nacos
启动成功拉取nacos配置(端口 8081 生效) 另外两个项目就不贴了源码地址在文章开始。
4. 注册中心
可以看到3个服务都注册成功了。 正常情况下访问 http://localhost:8081/dick/dick/abc 和 http://localhost:8081/tick/tick/abc 都可以返回。 动态修改网关路由
更新gateway nacos 配置后lb://demo-tick 改为 demo-tick1 立即生效无需重启。由于找不到 demo-tick1 所以报错。 5. 最后说一下
关于上面地址/dick/dick 第一个是网关转发的路由第二个是服务本身的 context-path。
而如果网关项目用的是域名/gateway 转发的话需要为网关项目加 context-path具体可以参考
https://blog.csdn.net/Angry_Mills/article/details/108132203