Nacos有用ingress同时暴露http端口8848和grpc端口9848成功的朋友吗?

Nacos有用ingress同时暴露http端口8848和grpc端口9848成功的朋友吗?现在2.0,http成功,但是grpc不行

展开
收起
嘟嘟嘟嘟嘟嘟 2023-10-26 14:22:22 385 分享 版权
2 条回答
写回答
取消 提交回答
  • 对于Nacos 2.x版本,默认是通过gRPC协议进行通信的,如果你想要通过http协议进行通信,你需要进行一些额外的配置。

    首先,你需要在你的Nacos配置文件中设置server.port属性为你想要的http端口,例如8848。

    然后,你需要在你的Nacos配置文件中设置spring.cloud.nacos.discovery.enabled属性为false,这样Nacos客户端就不会自动发现服务了。

    最后,你需要手动向Nacos服务端注册你的服务。你可以使用以下的代码:

    NacosDiscoveryClient discoveryClient = new NacosDiscoveryClient(nacosProperties);
    DiscoveryClient discovery = new DiscoveryClient(discoveryClient);
    ServiceInstance instance = new ServiceInstance("service-a", "127.0.0.1", 8080);
    discovery.registerService(instance);
    

    这里,nacosProperties是你的Nacos客户端的配置对象,service-a是你的服务名称,127.0.0.1是你的服务IP,8080是你的服务端口。

    2023-10-27 10:23:49
    赞同 展开评论
  • grpc也是基于http的。你这个应该是协议问题,端口肯定是暴露了的。此回答整理自钉群“Nacos社区群4”

    2023-10-26 14:35:18
    赞同 展开评论
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

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