您的位置:首页 > 其它

分布式RPC

2015-11-17 15:33 183 查看
影响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:提供服务注册与发现功能,开发分布式系统的必备选择。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: