1:介绍
avro-rpc是一个支持多序列化方式的RPC框架,目前支持Avro,Protocol Buffers ,Json,Hessian,Java序列化方式。网络传输层使用Netty的NIO实现,协议层可扩展,用户可以自定义协议格式及注册新的序列化方式。
基本特点
1:跨语言,可作为跨语言系统之间的分布式服务框架。
2:简洁高效易扩展,代价简洁,性能较好,结果清晰,方便扩展。
3:基本功能完善。同步调用,异步调用,连接复用,自动重连,超时管理,异步发送流量控制等;
4:支持多序列化方式,可以根据不同的平台和场景选择合适的序列化方式了;
项目地址:http://code.google.com/p/avro-rpc/
SVN地址:https://avro-rpc.googlecode.com/svn/
2:性能测试
- 测试环境:两台PC,一台运行服务端,一台运行客户端端。配置:CPU: E5645 @ 2.40GHz 2 core Memory: 2G Network: 1000Mb。
- 测试方法:客户端异步发送一个POJO对象(10个属性字段),服务端直接返回该对象。成功调用5千万次,统计TPS;
- 测试结果
-
- 结果: Protocol Buffers 序列化方式性能最佳,FastJson是阿里开源的一个JSON框架,性能确实不错。 Avro使用的是Generic模式,如果使用静态模式性能会更好。