问题描述

网关配置进行动态路由分配给对应服务器。

原因分析

查了资料说是版本问题,但使用的也是官方给的最新版本,后来降低版本也没有把问题解决。但直接使用 ip + 端口 连接可以使用。 更换低版本 ip + 端口能够使用 后来也陆续查了很多资料都没有找到解决方法,因为出现的问题是找到不服务器,就试试,是不是不同命名空间的影响。之前注册中心和配置中心的共用一个命名空间,不同模块命名空间互不相同。导致在服务列表里面不同服务需要在各自的命名空间中才能找到。

解决方案

将所有服务注册中心共用一个命名空间。

之前 bootstrap.yml 配置

server:

port: 88

spring:

application:

name: gulimall-gateway

profiles:

active: dev

cloud:

nacos:

server-addr: localhost:8848

discovery:

namespace: d01c2957-8aee-4b04-bf36-0786eda976d8

# config:

# namespace: d01c2957-8aee-4b04-bf36-0786eda976d8

---

spring:

profiles: dev

cloud:

nacos:

# 注册中心

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

group: ${spring.profiles.active}

# 配置中心 拉取配置

config:

server-addr: ${spring.cloud.nacos.server-addr}

namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

file-extension: yml

# extension-configs[0]:

shared-configs[0]:

data-id: gateway-config-dev.yml

group: dev

refresh: true

server:

port: 9000

spring:

application:

name: gulimall-product

#项目环境 激活 dev

profiles:

active: dev

cloud:

nacos:

server-addr: 127.0.0.1:8848

discovery:

namespace: 14845d1e-9025-4d4c-8227-cbb2ee7febd7

# config:

# namespace: 14845d1e-9025-4d4c-8227-cbb2ee7febd7

---

#当spring.profiles.active=test 时读取此配置

spring:

profiles: test

cloud:

nacos:

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

# nacos创建的命名空间id

namespace: ${spring.cloud.nacos.discovery.namespace}

#配置分组

group: ${spring.profiles.active}

#拉取配置-指定注册中心地址

config:

server-addr: ${spring.cloud.nacos.server-addr}

namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

# 配置文件类型 文件名称规则 spring.application.name+spring.profiles.active+file-extension

file-extension: yml

---

#当spring.profiles.active=dev 时读取此配置 注册中的 namespace 表示在该命名空间中运行的服务

spring:

profiles: dev

cloud:

nacos:

# 注册中心

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

group: ${spring.profiles.active}

# 配置中心 拉取配置

config:

server-addr: ${spring.cloud.nacos.server-addr}

namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

file-extension: yml

# prefix: field_config

#

# # 是否开启配置中心 默认true

# enabled: true

# # 配置中心地址

# server-addr: localhost:8848

# # 配置文件后缀

# file-extension: yml

# # 配置对应的分组

# group: PEARL_GROUP

# # 命名空间 常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等

# namespace: 14845d1e-9025-4d4c-8227-cbb2ee7febd7

# # Nacos 认证用户

# username: nacos

# # Nacos 认证密码

# password: nacos

#

# 支持多个共享 Data Id 的配置,优先级小于extension-configs,自定义 Data Id 配置 属性是个集合,内部由 Config POJO 组成。Config 有 3 个属性,分别是 dataId, group 以及 refresh

extension-configs[0]:

data-id: datasource.yml # 配置文件名-Data Id

group: dev # 默认为DEFAULT_GROUP

refresh: true # 是否动态刷新,默认为false

extension-configs[1]:

data-id: mybatis-plus.yml

group: dev

refresh: true

extension-configs[2]:

data-id: field.yml

group: dev

refresh: true

---

#当spring.profiles.active=uat 时读取此配置 3f55c196-4014-4d1d-ad98-dc381b75ed5c

spring:

profiles: uat

cloud:

nacos:

#拉取配置-指定注册中心地址

config:

server-addr: ${spring.cloud.nacos.server-addr}

group: ${spring.profiles.active}

file-extension: yml

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

---

#当spring.profiles.active=prod 时读取此配置

spring:

profiles: prod

cloud:

nacos:

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

group: ${spring.profiles.active}

#拉取配置-指定注册中心地址

config:

server-addr: ${spring.cloud.nacos.server-addr}

namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

file-extension: yml

修改后

server:

port: 88

spring:

application:

name: gulimall-gateway

profiles:

active: dev

cloud:

nacos:

server-addr: localhost:8848

# discovery:

# namespace: d01c2957-8aee-4b04-bf36-0786eda976d8

config:

namespace: d01c2957-8aee-4b04-bf36-0786eda976d8

---

spring:

profiles: dev

cloud:

nacos:

# 注册中心

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

group: ${spring.profiles.active}

# 配置中心 拉取配置

config:

server-addr: ${spring.cloud.nacos.server-addr}

# namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

file-extension: yml

# extension-configs[0]:

shared-configs[0]:

data-id: gateway-config-dev.yml

group: dev

refresh: true

server:

port: 88

spring:

application:

name: gulimall-gateway

profiles:

active: dev

cloud:

nacos:

server-addr: localhost:8848

# discovery:

# namespace: d01c2957-8aee-4b04-bf36-0786eda976d8

config:

namespace: d01c2957-8aee-4b04-bf36-0786eda976d8

---

spring:

profiles: dev

cloud:

nacos:

# 注册中心

discovery:

server-addr: ${spring.cloud.nacos.server-addr}

group: ${spring.profiles.active}

# 配置中心 拉取配置

config:

server-addr: ${spring.cloud.nacos.server-addr}

# namespace: ${spring.cloud.nacos.discovery.namespace}

group: ${spring.profiles.active}

file-extension: yml

# extension-configs[0]:

shared-configs[0]:

data-id: gateway-config-dev.yml

group: dev

refresh: true

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: