分布式与集群的困惑

10-09-29 jordan
分布式与集群的困惑:

分布式:将不同的业务逻辑分散到不同的节点去处理,完成后汇总成一个结果。使用的框架我会想到ejb,但是如何使用呢(大概),是(一业务逻辑+ejb+serveer)*3,还是(所有业务+ejb+server)*3? 使用ejb的话是不是还要单写web层,因为目前我了解ejb是服务器端的组件,如果是的话web层与ejb组件的关系是怎样的?

集群:如果我使用开源的ssh开发应用系统,将系统部署在两台或多台jboss(或tomcat,开源为主)上,通过容器自身的机制来做集群,能否实现热备?对开发过程有没有特殊要求?

我现在手里要做一个交易系统,并发会在400左右,对于系统的可靠性要求非常高,我是想才用第二种方法,但是没有这么干过,如果使用ejb,他的分布式是什么概念呢,该如何做集群呢?

望不吝赐教!

banq
2010-09-29 11:38
2010年09月29日 10:06 "jordan"的内容
将不同的业务逻辑分散到不同的节点去处理,完成后汇总成一个结果 ...

如果你要的是这个,这是一个先分布后聚合的计算过程,应该使用分布式云计算Hadoop,很成熟了。

如果你只是将业务分散到不同节点去处理,无需汇总成一个结果,那么普通负载平衡就可以达到目标。

如果无法切割业务,对于业务是一种混沌,那么使用集群,集群从名字上意思其实有群组的概念,就是一些群组无法真正完全切分,必须抱成团,这种分布式是一种妥协,比如EJB集群实际是一种关系数据库集群的拓展延伸。

性能 可靠性以及可拓展新需要从CAP原理三个中平衡。

[该贴被banq于2010-09-29 11:38修改过]

jordan
2010-09-29 14:35
请教banq,

看来ejb很复杂,对于ejb的分布式,和集群我也是停留在学习阶段,目前还不能应用到项目中,毕竟没有把握。

我现在想做的就是我用ssh的框架开发的应用放到不同的机器上运行,通过tomcat/jboss容器来实现集群,其实就是想保证在系统运行期间提供不间断的服务,当一台server宕掉后能够及时的切到另外一台上。我参考了tomcat的文档,tomcat的集群对于failover是支持的,对于session复制也有策略,也是支持的,那么我是不是就可以采用这种方式做我想要的集群呢?

banq
2010-09-30 09:36
这是初步阶段,是可以的,最好不要使用tomcat session复制,影响性能。下一步是引入分布式缓存来提升集群性能。

猜你喜欢