一天学会的Java基础课程,整整300集 拿出来分享给大家!拿走不谢!手把手教学,学会轻松就业_哔哩哔哩_bilibili
常用RPC远程调用框架有哪些?
httpclient、grpc、dubbo、resttemplate、openfeign、基于netty手写rpc
传统RPC远程调用中存在哪些问题?
a、超时问题
b、安全问题
c、服务与服务之间URL地址管理
在微服务中引入了注册中心做服务的发现和治理
Dubbo原理
解决服务治理,核心是注册中心,包括zk、redis、eureka、consul、nacos
如何设计一个RPC框架:
a、需要一个注册中心来提供服务的注册、发现和治理,生产者服务需要注册到注册中心,消费者可以从注册中心获取服务信息,可以是eureka、zookeeper、redis、consul、nacos
b、通过面向接口在本地动态代理,找到服务对应的机器地址
c、机器地址可能存在集群,所以需要有负载均衡算法,最简单的就是轮询了
d、找到了机器,需要发送的时候就得用netty的nio方式了,发送的格式可以用序列化的json、hessian等
e、服务器那边,需要针对自己的服务生成动态代理,监听某个网络端口