常用RPC框架及如何设计一个RPC框架

【尚学堂】Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通_哔哩哔哩_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、服务器那边,需要针对自己的服务生成动态代理,监听某个网络端口



 

你可能感兴趣的:(java,java)