精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-10-11
最后修改:2012-10-11
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:性能测试
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-10-12
好像出现很久了,但是用的好像很少...
|
|
返回顶楼 | |
发表时间:2012-10-13
最后修改:2012-10-13
finallygo 写道 好像出现很久了,但是用的好像很少...
avro-rpc是最近才完成的一个开源项目。是从我们公司现有的“分布式服务框架”中重构,剥离出来的一个基本的RPC框架。 |
|
返回顶楼 | |
发表时间:2012-10-14
taohuifei 写道 finallygo 写道 好像出现很久了,但是用的好像很少...
avro-rpc是最近才完成的一个开源项目。是从我们公司现有的“分布式服务框架”中重构,剥离出来的一个基本的RPC框架。 哦??能不能发个简单的例子呢?? |
|
返回顶楼 | |
发表时间:2012-10-15
在那个例子里面,为什么还要在 netty的NettyExecutionHandler里面还要开个线程池来处理请求?
|
|
返回顶楼 | |
发表时间:2012-10-15
性能测试例子
1:启动服务 code.google.dsf.test.StartServerTest 2:运行客户端性能测试 code.google.dsf.test.performance.RPSTest |
|
返回顶楼 | |
发表时间:2012-10-15
char1st 写道 在那个例子里面,为什么还要在 netty的NettyExecutionHandler里面还要开个线程池来处理请求?
Netty的work io线程应该只需要负责IO的读写操作,实际方法的处理应该交给业务线程池来处理,NettyExecutionHandler就是一个业务处理线程池,使用线程池是为了提高系统的并发能力。 |
|
返回顶楼 | |
发表时间:2012-10-16
赞一个,
rpc过程除了serialize,还有deserialize和数据传输。 可以再对比下数据量大小,反序列化性能。 整体的rpc效率。 |
|
返回顶楼 | |
发表时间:2012-10-16
最后修改:2012-10-16
kimmking 写道 赞一个,
rpc过程除了serialize,还有deserialize和数据传输。 可以再对比下数据量大小,反序列化性能。 整体的rpc效率。 这个性能测试是本身一个完整RPC过程测试,包括:客户端将数据序列化,然后将数据传输到服务端,服务端接收到数据后,将数据反序列化,然后由业务线程池来执行这个方法调用,然后将结果序列化,并发送给客户端,客户端将接收到的数据反序列化,回调 |
|
返回顶楼 | |
发表时间:2012-10-16
LZ能写个跨语言的例子么? 如果是单纯的java对java的话只用netty就可以实现了。
|
|
返回顶楼 | |