论坛首页 Java企业应用论坛

分布式系统数据同步解决方案

浏览 11313 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (7)
作者 正文
   发表时间:2011-06-23  

     Web Service 现如今已经成为 SOA 实现标准之一。很多公司已经或者正在参与到 Web Service 项目的实现和部署中。Web Service 的优点在于松散的处理异构系统之间的通信和数据交换,可以随机应变的处理企业各个系统之间的整合问题,处理数据传输、数据同步问题。但是,Web Service 采用 XML 标准进行系统间的数据传输,加大了传输的数据量,尤其是在传输一些具有比较严格结构的数据时,会使得传输效率有所下降。所以,如何提高 Web Service 传输效率成为很多公司进行项目部署时非常关心的问题。用更好的技术方法解决传输效率也成为了很多技术人员梦寐以求的梦想。

    我们对于数据同步传输效率问题,做了很多深入的研究,自主研发出一套基于RMI(远程方法调用)的数据传输方法。对数据进行自定义包装。该方法对数据完整性,安全性等多个方面进行了严格控制。可以有效去除Web Service 包装成xml所带来的无效数据。极大地提高了传输效率。在有限的网络条件下,可选择性地采用tcp,udp等协议进行断点传输,具有非常快的传输速度。不受防火墙限制。缺点就是客户端、服务器端都必须对数据进行序列化。

   发表时间:2011-06-24   最后修改:2011-06-24
这就全是RMI的特点被你写上了,并且通过RMI的话,负载均衡以及灾难恢复就要自己去实现了

用webservices的话可以由容器(如WAS集群,IHS)去做了

如果只是远程方法调用的话,断点传输似乎是鸡肋
0 请登录后投票
   发表时间:2011-06-24  
这个和web services应该没什么关系,最多算是广义web services的一个很小的子集
减少网络传输的代价是服务使用者和提供者进行的终端计算,用zip压缩同样满足
0 请登录后投票
   发表时间:2011-06-24  
我们现在就是这样一个异构系统,使用的也是WebService,就是传输率较大,正在考虑使用GZip压缩数据
0 请登录后投票
   发表时间:2011-06-24  
AOP记录sql, 写入文件,文件按照一定规则hash。
定时将文件压缩成zip包,socket方式推入同步处理中心,由同步中心写入master。
参考mysql 主从复制。
0 请登录后投票
   发表时间:2011-06-24  
这和分布式系统数据同步没多少联系,只是基于远程调用的数据传输
分布式系统数据同步最麻烦的是在同步机制的设计尤其是考虑异常对一致性和完整性带来的事务层面的问题,难点不在传输
0 请登录后投票
   发表时间:2011-06-24  
ppgunjack 写道
这和分布式系统数据同步没多少联系,只是基于远程调用的数据传输
分布式系统数据同步最麻烦的是在同步机制的设计尤其是考虑异常对一致性和完整性带来的事务层面的问题,难点不在传输

一致性和完整性,只需要在每个应用中控制就可以了,这个和同步有关系吗?抛开同步,应用本身就应该保证数据的完整性和一致性啊。
0 请登录后投票
   发表时间:2011-06-24  
很多DBS本身就有集群功能!不妨试试!
0 请登录后投票
   发表时间:2011-06-25  
bobotc 写道
ppgunjack 写道
这和分布式系统数据同步没多少联系,只是基于远程调用的数据传输
分布式系统数据同步最麻烦的是在同步机制的设计尤其是考虑异常对一致性和完整性带来的事务层面的问题,难点不在传输

一致性和完整性,只需要在每个应用中控制就可以了,这个和同步有关系吗?抛开同步,应用本身就应该保证数据的完整性和一致性啊。

我指的是类似在active-active和active-slave中的数据同步
这涉及同步你能容忍的时间窗口,增量检测,数据在事务环境下的同步策略(即本地事务的提交是否要考虑等待接收远端同步的确认)
同步的问题其实就和分布式事务一样,一旦出现事务相关的严格同步(即通讯两方当机或者被毁灭数据都不丢失),就会有比较复杂的逻辑设计,这不是rmi或者ftp重传这种机制能解决的
最近在弄data guard的方案,这是Oracle的数据同步系统,开始觉得挺简单,但真正做下来发觉实时数据同步是有很多意外必须考虑的,这远远超过了rmi实现这个层面的内容
0 请登录后投票
   发表时间:2011-06-26  
不用自己研发,用Hessian就行,直接支持10种语言的互相传输。如果都是Spring的基础框架,用Http Invoke效率是比较好的。

你说的是数据传输技术,不是同步解决方案,分布式的同步解决方案比较难弄的,建议通过数据库处理,或者想办法避开这个难题
0 请登录后投票
论坛首页 Java企业应用版

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