RPC远程过程调用协议
Java实现RPC框架
1、实现技术方案
下面使用比较原始的方案实现RPC框架,采用Socket通信、动态代理与反射与Java原生的序列化。
2、RPC框架架构
RPC架构分为三部分:
1)服务提供者,运行在服务器端,提供服务接口定义与服务实现类。
2)服务中心,运行在服务器端,负责将本地服务发布成远程服务,管理远程服务,提供给服务消费者使用。
3)服务消费者,运行在客户端,通过远程代理对象调用远程服务。
Dubbo
组件介绍
1、Registry:注册中心
所有的服务将IP地址和端口号写入到注册中心进行保存.
2、Provider:服务的提供者
该服务需要实现一个接口.并且完成接口实现方法.(具体完成业务逻辑)
3、Consumer:服务的消费者
该服务项调用接口中的方法.获取返回值
4、Monitor:监控程序
监控服务的调用起到辅助作用
特点:
1、负载均衡
a) 如果用户访问的是统一服务.则会以负载均衡的方式进行链接
2、心跳检测
a) Zk会定时进行心跳检测.将死亡的机器自动的移除服务的名单
3、服务的自动发现
a) 当后台服务再次启动时,zk不需要重启.会自动的将新的服务添加到名单中.方便客户端调用