想做个分布式集群系统,不知道怎么实现


分布在世界各地的多个组,每个组由多台app server + 多台db server 集群工作。

要求组与组之间,app server 与 db server 之间数据同步(不一定时时),负载均衡

能不能给个设计方案?

别使用J2EE和EJB

那你就使用JGroup自己做嘛,愚公移山

不过JMS适合你这种异地方式,当然不只是一个JMS能够解决问题,可能还需要一些中转器。

app server上面放置的是XML文件(是从DB server)上面复制的数据

前几天看了电驴的P2P分发设计原理,感觉如果要照我这么设计就需要多个注册用的主机,存放服务器列表互相进行同步

JGROUP没用过,JMS是不是也是基于SOCKET的?直接用SOCKET行吗?

能不能帮小弟讲讲这个设计的实现原理?
各个节点间的关系,我都还不大明白

与P2P对应的是java spaces,你可以研究一下,不过好像用不到那么多其他特性,你的问题还只是简单的数据备份。

数据备份一定要有事物机制,而且要有更新通知机制,这两点都是JMS强项。

JMS实际是一个基于两台服务器的,基于Socket的多线程架构,但比你直接使用基于Socket的多线程编程要强得多。

基于Socket的多线程编程可看我的“java实用系统开发指南”第一章,里面有个基于Socket连接的多线程底层框架,你可借用。

因为从多线程编程走过来,所以还是奉劝你还是不用多线程,不但自己知识能力没长进,还掉很多头发,呵呵。