RPC远程过程调用
原理:研究Netty
RPC两个核心模块:通讯+序列化
序列化:数据传输需要转换
Apache Dubbo:高性能、轻量级的开源Java RPC框架,通信框架,很专业, 18年重启,Dubbo 3.x RPC
三大核心能力:面向接口的远程方法调用;智能容错和负载均衡;服务自动注册和发现
Dubbo 基于消费端的自动服务发现能力,其基本工作原理如下图:
服务发现的一个核心组件是注册中心,Provider 注册地址到注册中心,Consumer 从注册中心读取和订阅 Provider 地址列表。 因此,要启用服务发现,需要为 Dubbo 增加注册中心配置:
以 dubbo-spring-boot-starter 使用方式为例,增加 registry 配置
# application.properties dubbo registry address: zookeeper://127.0.0.1:2181
HTTP SpringCloud (生态)~
实战:
zookeeper :注册中心
dubbo-admin : 监控管理后台,查我们注册了哪些服务,哪些服务被消费了
Dubbo:jar包
步骤:
前提:zookeeper服务已启动
-
提供者提供服务
-
导入依赖
-
配置注册中心的地址,以及服务发现名,和要扫描的包
-
在想要被注册的服务上面,再增加一个注解**@Service**(dubbo包下的)
-
-
消费者如何消费
-
导入依赖
-
配置注册中心的地址,配置自己的服务名
-
从远程注入服务 @Reference
-