RPC框架设计思路
思路: 注册中心 首先是要有的,推荐使用 Zookeeper 。 注册中心主要用来保存相关的信息比如远程方法的地址 。 既然要要互相调用方法就要 发请求,推荐nio 的 netty框架 。 发请求发送什么数据呢?我们就要考虑 序列化协议 了。 另外, 动态代理 也是需要的。因为 RPC 的主要目的就是让我们调用远程方法像调用本地方法一样简单,使用动态代理屏蔽远程接口调用的细节比如网络传输。 负载均衡 也是需要的。为啥?举个例子我们的系统中的某个服务的访问量特别大,我们将这个服务部署在了多台服务器上,当客户端发起请求的时候,多台服务器都可以处理这个请求。那么,如何正确选择处理该请求的服务器就很关键。假如,你就要一台服务器来处理该服务的请求,那该服务部署在多台服务器的意义就不复存在了。 负载均衡就是为了避免单个服务器响应同一请求,容易造成服务器宕机、崩溃等问题 。 来源: oschina 链接: https://my.oschina.net/u/4167465/blog/3217397