分布式RPC

影响RPC性能的因素:
一是传输方式,二是序列化
TCP 是传输层协议,HTTP 是应用层协议,而传输层较应用层更加底层,在数据传输方面,越底层越快,因此,在一般情况下,TCP 一定比 HTTP 快。
就序列化而言,Java 提供了默认的序列化方式,但在高并发的情况下,这种方式将会带来一些性能上的瓶颈。
于是市面上出现了一系列优秀的序列化框架,比如:Protobuf、Kryo、Hessian、Jackson 等,它们可以取代 Java 默认的序列
化,从而提供更高效的性能。
我们需要将服务部署在分布式环境下的不同节点上,通过服务注册的方式,让客户端来自动发现当前可用的服务,并调用这些服务。
 

根据以上技术需求,我们可使用如下技术选型:

    1. Spring:它是最强大的依赖注入框架,也是业界的权威标准。
    2. Netty:它使 NIO 编程更加容易,屏蔽了 Java 底层的 NIO 细节。
    3. Protostuff:它基于 Protobuf 序列化框架,面向 POJO,无需编写 .proto 文件。
    4. ZooKeeper:提供服务注册与发现功能,开发分布式系统的必备选择。
 
 
 
原文地址:https://www.cnblogs.com/lnas01/p/4971883.html