在Glassfish 3.1上使用Hibernate负载平衡和远程集成EJB

时间:2011-04-01 18:34:22

标签: hibernate glassfish ejb-3.0 load-balancing

这是我第一次提出问题而我问这个问题,因为我正在投影我自己的架构。我想到的是在有状态/无状态EJB3会话Bean + Hibernate之间进行集成,但将可伸缩性视为一个重要问题。因此,我的想法是将Hibernate ORM层集中在某个主机上,并考虑到不断增加的工作量,扩展到负载平衡方法。

据我了解,这种方法是通过基于Glassfish中的群集功能的JNDI查找透明地管理EJB 3 Entity Beans,但是,我想要利用我认为可以使我的项目受益的Hibernate功能。 / p>

所以,我想知道的是:

  1. 编写代码以获取Hibernate时我需要注意的事项 远程调用,如果是,为了获得Hibernate负载平衡?
  2. 可以嵌入任何Hibernate集群应用程序 使用Glassfish,或者是否必须专门迁移 Hibernate ORM层进入JBoss以获得特定的负载平衡?
  3. 如果2),我是否必须处理任何特定的配置/网桥 在Glassfish和JBoss之间?,否则,它可以在JNDI中解决 聚类策略?
  4. 我不是这种方法的专家,所以我的焦点可能有缺点,因为那样,我要求你们更好地理解。

1 个答案:

答案 0 :(得分:1)

JPA / Hibernate与群集没有太大关系。 JPA实体纯粹是本地的,不能远程使用。关于使用JPA进行群集的唯一问题是二级缓存(如果已启用),因为另一个JVM可能会更新缓存中的实体。

故障转移和负载平衡必须在更高级别完成:在服务层或表示层。

我不是这方面的专家,但我发现进行同质部署要容易得多,并且在前面的HTTP负载均衡器的几个盒子上部署完整的应用程序。