The*_*heo 14 java jms glassfish java-ee amazon-web-services
在分布式环境中部署无状态Java EE 6应用程序以实现高可用性和可伸缩性的最佳方法是什么?我的申请是无国籍的.因此,我不需要复制任何会话状态(HTTP会话,EJB有状态bean等)
具体来说,我想知道以下内容:
我计划使用Amazon AWS(具有多AZ部署的RDS,弹性负载平衡,EC2).
Han*_*ank 11
我处于类似的情况,我现在正在发现GF群集对我能做什么/不能做什么.
Re 1)我是否需要Glassfish 3.1的群集功能
由于您的EJB是无状态的,因此您不需要GF集群进行会话/状态复制(正如您自己所说).您可以设置多个独立实例,并将您的应用程序单独部署到它们.但是,即使在无状态应用程序中,我发现GF集群的好处非常值得 - 从管理的角度来看.
GF群集将确保配置自动应用于所有实例.JNDI会自动复制.应用程序自动部署.这是一个向外扩展并添加其他实例的命令 - 不久之后,您的群集将得到扩展,新实例已配置,部署,启动并准备就绪.对我来说,只要我有超过1个实例,这就是行政天堂和足够理由使用GF集群!
要考虑的一件事(我现在正在努力解决这个问题)可能是分布式/协调的L2缓存,以防您的应用程序与数据库通信.
重新2)...如何设置JMS以使其在集群环境中工作?
不确定我理解你的问题...如果你想在GF之外拥有一个高可用的消息代理,你需要相应地设置它并自己管理它.例如,ActiveMQ有几种设置群集/ HA /横向扩展的方法.如果您使用GF提供的OpenMQ,则设置GF群集还会提供群集消息代理.盒子外面.
但经纪人聚类本身就是一个话题,不容小觑.您可能需要考虑持久性和共享消息存储等 - 无论使用外部还是GF提供的集群代理.
如果JMS是您的应用程序中不可或缺的一部分,我建议您对经纪人给予适当的关注.我可能不会使用GF代理,而是拥有一个单独的代理群集(关注点分离;例如,您可以相互独立地升级GF /代理).
Re 3)EJB计时器服务...除了使用共享数据库存储计时器之外,还有什么需要做的吗?
如果您需要计时器在您的(appserver-)实例组中自动触发一次,我相信您确实需要GF群集(当然还有共享DB).否则我不知道,每个实例应该知道它是否应该开火.但是,这很容易测试......
TL;博士
| 归档时间: | 
 | 
| 查看次数: | 2375 次 | 
| 最近记录: |