锁定老帖子 主题:分布式通信框架
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间: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、和后续的分布式解决方案(分布式数据层、消息中间、集群和业务配置服务、监控系统)无缝集合,使这些底层应用解决一个个业务集群的同时,也能处于大集群的有效监控之中,为后期的自动化升降级做准备。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-20
鼓励一下,不过提醒一下,楼主你在自言自语么?框架在哪里?
|
|
返回顶楼 | |
发表时间:2010-09-20
你是在做一个基于socket的RPC框架吗?我最近也有这方面的打算,普通rpc的http实在太低效了,我们需要一个更快的。如果您已经完成了,是不是开源的哪?能否分享一下?呵呵。
|
|
返回顶楼 | |
发表时间:2010-09-20
莫非是把需求分析放到这来讨论了么?
|
|
返回顶楼 | |
发表时间:2010-09-20
我明白lz在说什么,我之前也做过类似的
不错,加油! |
|
返回顶楼 | |
发表时间:2010-09-20
楼主的想法不错,望楼主能详细说下你的概要设计,最好能发个源码或测试版本上来,让大家来帮你测一下,这样才有意义。
|
|
返回顶楼 | |
发表时间:2010-09-20
Hessian架构在Http协议之上,效率低不说,不能脱离web容器
--- 这是个伪命题把? http协议最强的地方,就是几乎所有的firewall都打开了80口 |
|
返回顶楼 | |
发表时间:2010-09-20
http4j 写道 鼓励一下,不过提醒一下,楼主你在自言自语么?框架在哪里?
呵呵 自己总结一下,框架基本功能已经开发完成,后面需要做集群方面和多语言客户端的支持,目前时机不成熟,后面会向老大提出使其开源。 |
|
返回顶楼 | |
发表时间:2010-09-20
myreligion 写道 你是在做一个基于socket的RPC框架吗?我最近也有这方面的打算,普通rpc的http实在太低效了,我们需要一个更快的。如果您已经完成了,是不是开源的哪?能否分享一下?呵呵。
后面会分享一下设计方面的东西,开源要过一段时间征求老大的意见。 |
|
返回顶楼 | |
发表时间:2010-09-20
ray_linn 写道 Hessian架构在Http协议之上,效率低不说,不能脱离web容器
--- 这是个伪命题把? http协议最强的地方,就是几乎所有的firewall都打开了80口 对的,不同的东西有不同的适用场景,由于内部搞分布式系统架构升级,所以不会遇到firewall的问题,因此自己搞了一个。 |
|
返回顶楼 | |