请问在EDAS/MSE微服务了服务器发布的时候怎么发布才能是公网地址?

使用nacos作为注册中心,服务提供方和服务消费方的VPC不是同一个,MSE开放了公网接口,请问在EDAS/MSE微服务了服务器发布的时候怎么发布才能是公网地址?

展开
收起
三分钟热度的鱼 2023-05-22 15:49:32 135 分享 版权
阿里云 AI 助理回答

在使用Nacos作为注册中心时,如果服务提供方和服务消费方的VPC不是同一个,并且MSE开放了公网接口,您需要确保服务能够通过公网地址进行通信。以下是具体的发布和配置步骤:


1. 确认MSE实例的公网访问配置

在创建MSE实例时,需确保以下配置正确: - 公网带宽:在购买MSE实例时,设置公网带宽大于0,以生成公网域名。 - 白名单配置:将服务消费方的公网IP地址按照IP地址/32的格式添加到MSE实例的公网访问白名单中。具体操作可参考“设置白名单”文档。


2. 服务提供方的配置

服务提供方需要确保其注册到Nacos的服务地址为公网地址。以下是关键配置步骤: - Nacos注册地址:在服务提供方的配置文件中,指定MSE Nacos实例的公网访问地址。例如:

spring.cloud.nacos.discovery.server-addr=mse-XX-p.nacos-ans.mse.aliyuncs.com:8848

其中,mse-XX-p.nacos-ans.mse.aliyuncs.com为MSE Nacos实例的公网访问地址。

  • 命名空间(可选):如果使用自定义命名空间,需在配置中添加命名空间ID:

    spring.cloud.nacos.discovery.namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932
    
  • 启动参数:确保服务提供方未设置以下参数,否则会导致服务无法上报数据到EDAS:

    -Dnacos.use.endpoint.parsing.rule=false
    -Dnacos.use.cloud.namespace.parsing=false
    

    如果设置了上述参数,服务将不会上报数据到EDAS,需移除这些参数以确保服务正常注册。


3. 服务消费方的配置

服务消费方需要通过公网地址访问Nacos注册中心,并发现服务提供方的公网地址。以下是关键配置步骤: - Nacos注册地址:在服务消费方的配置文件中,同样指定MSE Nacos实例的公网访问地址。例如:

spring.cloud.nacos.discovery.server-addr=mse-XX-p.nacos-ans.mse.aliyuncs.com:8848
  • 命名空间(可选):如果使用自定义命名空间,需在配置中添加命名空间ID:

    spring.cloud.nacos.discovery.namespace=5cbb70a5-xxx-xxx-xxx-d43479ae0932
    
  • 启动参数:与服务提供方类似,确保未设置以下参数:

    -Dnacos.use.endpoint.parsing.rule=false
    -Dnacos.use.cloud.namespace.parsing=false
    

    如果设置了上述参数,服务消费方将无法从EDAS共享注册中心获取服务信息。


4. 验证服务注册与发现

完成上述配置后,需验证服务是否成功注册和发现: 1. 启动服务提供方应用。 2. 登录MSE注册配置中心管理控制台,在目标实例的服务列表页面查看服务是否注册成功。 3. 启动服务消费方应用,调用服务提供方的接口,验证服务发现是否正常。


5. 注意事项

  • 网络互通:虽然MSE支持公网访问,但建议尽量保证服务提供方和服务消费方的网络环境稳定,避免因公网波动导致服务不可用。
  • 本地缓存:如果服务消费方在白名单外仍能获取配置信息,可能是因为本地缓存。可以删除本地缓存目录(如$HOME/nacos/config/)以清除缓存。
  • 端口限制:目前Nacos 2.x版本不支持全区域访问,客户端无法连接9848端口,请确保使用兼容的Nacos版本。

通过以上步骤,您可以确保服务提供方和服务消费方通过公网地址在EDAS/MSE微服务平台上正常发布和通信。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

为微服务建设降本增效,为微服务落地保驾护航。

还有其他疑问?
咨询AI助理