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

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

相关推荐
huainingning3 小时前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall3 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
码流子3 小时前
移动收费怎么做?手持终端+App+收费中心的架构实践
java·开发语言·架构
霸道流氓气质4 小时前
AI 流式对话与实时聊天平台:SSE 解码竞态、有状态会话隔离与背压取消的 Vue3 + Spring AI 生产级实战
java·人工智能·spring
云创智城-yuncitys4 小时前
YunParking 4.0:JDK 17 与 Spring Boot 3.2 的停车云升级
java·开发语言·spring boot
文丑颜不良啊4 小时前
LeetCode1661~1680题目解析
java·leetcode
子非鱼@Itfuture4 小时前
关于前后端联调中登录状态/登录信息失效?
java·前端
郭小李4 小时前
openFeign入门
java·开发语言·前端
wacsii4 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
共享家95274 小时前
408 操作系统第一章
服务器·数据库·windows