论坛首页 Java企业应用论坛

分布式通信框架

浏览 12391 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2010-09-19   最后修改:2010-09-19

      经过一个半月的编码,自己开发的分布式通信框架终于有了基本的雏形,采用TCP/IP协议,用Netty框架实现底层通信,序列化方式支持JDK自带的方式、支持Hessian、也支持Protobuf和Thrift,一般Java调Java用Hessian和Jdk序列化比较方便,直接将服务端注册,客户端生成代理即可使用。Protobuf和Thrift是为了应对跨语言调用准备的,可以通过伪代码生成业务依赖(接口、参数、返回值、异常等)。框架初步具备了负载均衡和容错,可以路由到具体的重载方法。目前只支持同步调用,后续将支持回调异步、Future异步和Oneway异步。

 

      之所以要自己开发通信框架主要有两个原因:

      1、开源框架都有自己的不足,比如Hessian架构在Http协议之上,效率低不说,不能脱离web容器,同时虽说可以支持跨语言,但没有一个统一的标准来生成各种语言的业务客户端,要手工编写各种业务依赖,同时对复杂参数的序列化支持并不好,自身并不具备负载均衡和容错的能力。Thrift相对比较简单,没有负载均衡和容错机制,没有集群功能。Protobuf本身只是一个序列化框架,仅有远程调用接口,并没有实现。ICE倒是一个不错的东西,但有点庞大,同时不满足下面的要求。

      2、和后续的分布式解决方案(分布式数据层、消息中间、集群和业务配置服务、监控系统)无缝集合,使这些底层应用解决一个个业务集群的同时,也能处于大集群的有效监控之中,为后期的自动化升降级做准备。

   发表时间:2010-09-20  
鼓励一下,不过提醒一下,楼主你在自言自语么?框架在哪里?
0 请登录后投票
   发表时间:2010-09-20  
你是在做一个基于socket的RPC框架吗?我最近也有这方面的打算,普通rpc的http实在太低效了,我们需要一个更快的。如果您已经完成了,是不是开源的哪?能否分享一下?呵呵。
0 请登录后投票
   发表时间:2010-09-20  
莫非是把需求分析放到这来讨论了么?
0 请登录后投票
   发表时间:2010-09-20  
我明白lz在说什么,我之前也做过类似的

不错,加油!
0 请登录后投票
   发表时间:2010-09-20  
楼主的想法不错,望楼主能详细说下你的概要设计,最好能发个源码或测试版本上来,让大家来帮你测一下,这样才有意义。
0 请登录后投票
   发表时间:2010-09-20  
Hessian架构在Http协议之上,效率低不说,不能脱离web容器

--- 这是个伪命题把? http协议最强的地方,就是几乎所有的firewall都打开了80口
0 请登录后投票
   发表时间:2010-09-20  
http4j 写道
鼓励一下,不过提醒一下,楼主你在自言自语么?框架在哪里?


呵呵 自己总结一下,框架基本功能已经开发完成,后面需要做集群方面和多语言客户端的支持,目前时机不成熟,后面会向老大提出使其开源。
0 请登录后投票
   发表时间:2010-09-20  
myreligion 写道
你是在做一个基于socket的RPC框架吗?我最近也有这方面的打算,普通rpc的http实在太低效了,我们需要一个更快的。如果您已经完成了,是不是开源的哪?能否分享一下?呵呵。


后面会分享一下设计方面的东西,开源要过一段时间征求老大的意见。
0 请登录后投票
   发表时间:2010-09-20  
ray_linn 写道
Hessian架构在Http协议之上,效率低不说,不能脱离web容器

--- 这是个伪命题把? http协议最强的地方,就是几乎所有的firewall都打开了80口



对的,不同的东西有不同的适用场景,由于内部搞分布式系统架构升级,所以不会遇到firewall的问题,因此自己搞了一个。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics