nacos和gateway部署实践踩的坑

一.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/**

因为合起来写它会匹配两次,不管什么链接都不可能通过的。

三.sentinel

如果不是一个内网,服务注册到sentinel也要写好公网ip

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值