RPC(3)--基于 Nacos 的服务发现与负载均衡版

nacos:提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。

nacos架构如下(图片来源)
RPC(3)--基于 Nacos 的服务发现与负载均衡版_第1张图片
依赖包:

<dependency>
            <groupId>com.alibaba.nacosgroupId>
            <artifactId>nacos-clientartifactId>
            <version>1.3.0version>
        dependency>

使用如下:

//创建命名服务
NamingService namingService = NamingFactory.createNamingService("127.0.0.1:10058");
//服务提供方:注册服务
namingService.registerInstance(serviceName, address.getHostName(), address.getPort());
//服务消费方:获取服务
namingService.getAllInstances(serviceName);

整体架构

RPC(3)--基于 Nacos 的服务发现与负载均衡版_第2张图片

过程详解

服务注册和服务发现

调用封装在NacosUtil工具类中,该变量定义了静态域来获取namingService(服务端和消费端同步),实现了注册服务和服务发现以及注销服务三个静态方法。
NacosServiceDiscovery类提供了服务发现,以及根据负载均衡算法选择服务接口
ServiceProvider:默认的服务注册表,保存服务端本地服务,一个Map,一个Set

你可能感兴趣的:(Java,rpc,服务发现,负载均衡)