nacos和gateway部署实践踩的坑
2023-12-23 18:11:42
一.nacos
我的微服务项目部署之后,发现不同服务之间无法实现通信,但是我在本地多个服务运行明明运行的很好。
后来我进去nacos页面查看各服务的信息,发现各服务对应的ip竟然不是我服务器的ip,而是本地ip/或者说是内网ip。而nacos服务发现的基本逻辑就是根据服务名,然后去nacos拉取对应的ip,然后根据ip请求接口。如果是内网ip,如果不像本地测试一样在同一个内网,则无法通信是正常的。
那么怎么解决呢?直接在配置中添加服务注册的ip和端口就可以了。
cloud:
nacos:
server-addr:
discovery:
cluster-name: FJ # 集群名称
# 注册到nacos的ip与端口
ip: ip地址
port: 8081
二.gateway
gateway中的路由配置要分开写:
routes: # 网关路由配置
- id: music-service-music
uri: lb://music-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates:
- Path=/musics/**
- id: music-service-comment
uri: lb://music-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates:
- Path=/comments/**
而不能合起来写:
routes: # 网关路由配置
- id: music-service-music
uri: lb://music-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates:
- Path=/musics/**
- Path=/comments/**
因为合起来写它会匹配两次,不管什么链接都不可能通过的。
文章来源:https://blog.csdn.net/bjjx123456/article/details/135137275
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!