使用nacos作为注册中心,服务提供方和服务消费方的VPC不是同一个,MSE开放了公网接口,请问在EDAS/MSE微服务了服务器发布的时候怎么发布才能是公网地址?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Nacos作为注册中心时,如果服务提供方和服务消费方的VPC不是同一个,并且MSE开放了公网接口,您需要确保服务能够通过公网地址进行通信。以下是具体的发布和配置步骤:
在创建MSE实例时,需确保以下配置正确: - 公网带宽:在购买MSE实例时,设置公网带宽大于0,以生成公网域名。 - 白名单配置:将服务消费方的公网IP地址按照IP地址/32
的格式添加到MSE实例的公网访问白名单中。具体操作可参考“设置白名单”文档。
服务提供方需要确保其注册到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,需移除这些参数以确保服务正常注册。
服务消费方需要通过公网地址访问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共享注册中心获取服务信息。
完成上述配置后,需验证服务是否成功注册和发现: 1. 启动服务提供方应用。 2. 登录MSE注册配置中心管理控制台,在目标实例的服务列表页面查看服务是否注册成功。 3. 启动服务消费方应用,调用服务提供方的接口,验证服务发现是否正常。
$HOME/nacos/config/
)以清除缓存。通过以上步骤,您可以确保服务提供方和服务消费方通过公网地址在EDAS/MSE微服务平台上正常发布和通信。