java 分布式子系统之间通讯

风象南 发布于 2015/08/25 17:54
阅读 1K+
收藏 2

开源之夏第三届火热来袭,高校学生参与赢万元奖金!>>>

问题:

java 分布式子系统之间通讯采用何种技术实现?

个人思考:

目前个人掌握大方向有四种:

(1)基于RPC实现,例webservice 、java平台的rmi等,据了解性能不是很好。

(2)基于JMS标准的ActiveMQ等类似的消息框架,好处是子系统之间可以解耦。

(3)基于NIO的通讯框架mina、netty等,此种方式性能没有问题,但不经过成熟的封装直接使用不太方便

(4)了解过淘宝的hsf和dubbo,dubbo开源据说淘宝内部已不使用也停止了更新,hsf貌似没开源,没有找到相关资源。

个人能力目前就了解这么多,有些迷惑不知该采用何种方式实现,希望各位能给出意见和建议...


加载中
0
中医药人工智能研究
中医药人工智能研究
我们用 JAX-RS实现jersey,相当好用!
中医药人工智能研究
中医药人工智能研究
回复 @ybchen : 搭配fastjson,性能杠杠的!
风象南
风象南
回复 @javaflex : 此种方式性能如何?。
pantrick
pantrick
哈哈,终于找到一个同好了,我也正用jersey改造
0
朱宏青
朱宏青

这主要看你通讯的业务属于什么层面 或者说想要达到什么层面

如果只是简单的业务层上的查询、提交数据这些 其实RESTful(也就是JAX-RS)真的足够(基本80%都能吃) 

如果有硬性的要求 比如性能要达到多少多少 那么很可能第一种方法就不是特别好了(要不就把RESTful的连接一直维持 缩减协议等等 尽量提升性能 不过真这么走还不如直接用TCP/IP发消息得了) 或者说就是不要用http 那么就得考虑其他方案 比如类似dubbo这种

当然也推荐直接消费队列 针对那些不用超级实时的(其实以现在大部分的应用来看 还达不到消费队列的性能极限 其实是很多写代码的人/架构师 太不注意 导致消费队列性能降低) 会有奇效 

另外要注意的事 技术上的的难易度是从上往下几何递增的

0
大海拾贝
大海拾贝
系统层面如果差异不大,可以考虑dubbo
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部