简介
Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 的官网 https://nacos.io/en-us/
Nacos 的源码 https://github.com/alibaba/nacos
更多demo请关注
springboot demo实战项目
java 脑洞
java 面试宝典
开源工具
集成 grpc
用Nacos做注册中心,集成grpc的时候会出现无法找到服务的异常,通过跟踪grpc源码
for (ServiceInstance serviceInstance : serviceInstanceList) {
Map<String, String> metadata = serviceInstance.getMetadata();
if (metadata.get("gRPC.port") != null) {
Integer port = Integer.valueOf(metadata.get("gRPC.port"));
logger.info("Found gRPC server {} {}:{}", name, serviceInstance.getHost(), port);
Attributes.Builder builder = Attributes.newBuilder();
EquivalentAddressGroup addressGroup = new EquivalentAddressGroup(
new InetSocketAddress(serviceInstance.getHost(), port), builder.build());
equivalentAddressGroups.add(addressGroup);
} else {
logger.error("Can not found gRPC server {}", name);
}
}
发现问题产生在grpc没法在metadata中获取到grpc.port属性,所以解决方案如下,在grpc Server端的Nacos配置中添加metadata属性
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
metadata:
gRPC:
port: ${grpc.server.port}
#公众号
五分钟了解前沿技术,大数据,微服务,区域链,提供java前沿技术干货,独立游戏制作技术分享
如果这篇文章对你有帮助请给个star