关于Nginx+Jboss高可用集群的问题

问题描述

有两台linux服务器,准备部署Nginx+Jboss高可用集群,准备在服务器1上安装Nginx和多个Jboss实例,服务器2上也是安装Nginx和多个Jboss实例,Nginx负责静态文件处理和前端调度,静态文件存储于两台服务器可共同访问的存储上。俩个Nginx中只有一个处于工作状态,所有Jboss实例均处于工作状态。实现效果:1、Jboss集群中的实例失效后,前端调度的Nginx负责把请求分发到其他Jboss实例,失效Jboss实例上的session转移到其他实例。2、其中一个Nginx宕掉后,另外一个Nginx能够接替工作,并实现session复制。 问题:效果1个人感觉应该是没有问题的,效果2不知道能否实现,如果能,还请指教如何实现。

解决方案

2、其中一个Nginx宕掉后,另外一个Nginx能够接替工作,并实现session复制。http://www.linuxidc.com/Linux/2012-06/63233.htmhttp://song49.blog.51cto.com/4480450/901459http://www.iteye.com/topic/676347
解决方案二:
1、Jboss集群中的实例失效后,前端调度的Nginx负责把请求分发到其他Jboss实例,失效Jboss实例上的session转移到其他实例.这个不存在问题,不管是nginx或者是apache,都有相应的心跳检测模块,能够自动检测server实例的状态,如果server故障,会自动从server列表中去除,server重启正常运行之后,又会自动添加到server列表中。2、其中一个Nginx宕掉后,另外一个Nginx能够接替工作,并实现session复制Nginx主从模式解决的就是自动切换功能。session复制方面,一般有两种机制1)基于中间件容器。我接触过的weblogic、jboss都支持这种方式。不过节点过多,对性能影响比较大。这种机制,其实就是在server之间互相复制session。2)基于分布式缓存。比较常用的像memcached。这种实现方式,就是把session存储到分布式缓存中,优点是性能比1方式要好,不是互相复制。还有个方式(本人不推荐),使用nginx的Session sticky:http://itindex.net/blog/2009/02/12/1234429191753.html要让session复制,有个前提,所有放到session中的数据(如User对象、以及其它一些标识对象)必须实现序列化接口。
解决方案三:
单台服务器64g内存,静态图片多也能撑得住啊,不过还是要通过压力测试测试一下,看看能撑到多少的并发。如你所说,如果ngnix的机器宕掉了,怎么办?可以做双机热备,实时切换。如果一台宕机了,另一台切换过来就行了。但是需要两台设备。目前双机热备还是主流的。
解决方案四:
session复制怕是有困难,你可以采用其他方式实现session的共享,比如memcache,jboss挂掉后,其中的session信息并不在jboss中保存,其他jboss仍然可以从memcahe中获取session信息,你可以参考一下nginx+tomcat+memcache的方案:http://yunnick.iteye.com/blog/1838031

时间: 2024-11-05 12:34:39

关于Nginx+Jboss高可用集群的问题的相关文章

基于corosync+pacemaker的nginx高可用集群安装配置

  一.corosync.pacemaker介绍 corosync是用于高可用环境中的提供通讯服务的,它位于高可用集群架构中的底层(Message Layer),扮演着为各节点(node)之间提供心跳信息传递这样的一个角色; pacemaker是一个开源的高可用资源管理器(CRM),位于HA集群架构中资源管理.资源代理(RA)这个层次,它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层的心跳传递服务,将信息通告给对方.通常它与corosync的结合方式有两种: pacemaker

RabbitMQ学习系列(六): RabbitMQ 高可用集群

前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/category/855479.html 本来一直想写一个介绍RabbitMQ高可用的集群的文章.不过,后来发现园子里,有个已经RabbitMQ大牛写了,关于高可用集群的文章了.特别巧合的是,还是以前公司的同事.所以,这里就不啰嗦.直接引用过来吧.原文地址:http://www.cnblogs.com/

轻松构建Mysql高可用集群系统

一. MySQL复制的实现原理 MySQL支持单向.双向复制.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入一个二进制日志文件中,并创建一个索引文件以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,日志文件会通知主服务器,从服务器在日志中读取的最后一次成功更新的位置.接着,从服务器在上次成功更新的位置处开始进入更新操作.更新完成后从服务器开始进入等待状态,等待主服务器后续的更新. 需要注意的是:在进行复制时,所

高可用集群Heartbeat简述

一.什么是高可用集群?高可用集群是怎么工作的? 高可用集群(HA:High Availability),就是为了保证服务的持续可用性,使用1个或多个备用主机来保证主服务器宕掉后能自动接替其工作的方案. 这些主机中,正在工作的,我们称为主节点,看着主节点挂掉然后才能干活的,我们称之为备节点,一般高可用集群中,只有两个节点是很特殊的HA集群,一般都是3个或3个以上. 而主机工作一般都是提供各种服务,不管是网页服务还是邮件服务或者数据库服务等,我们将这些服务和服务所需的一些特性或者属性称为资源:(re

CentOS 7下怎么搭建高可用集群?

  CentOS 7下怎么搭建高可用集群.高可用集群是指以减少服务中断时间为目的的服务器集群技术.它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度.那么新的centos下怎么来搭建高可用集群. 环境:本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为192.168.122.169 . 一.安装集群软件必须软件pcs,pacemaker,corosync,fence-agen

ActiveMQ私有云、公有云以及Docker环境高可用集群方案汇总

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1749983 ActiveMQ软件概述 ActiveMQ提供消息队列服务. ActiveMQ高可用原理 ActiveMQ高可用由三部分组成. 1.ActiveMQ的master-slave 两个运行的ActiveMQ instance如果同时使用一套持久化存储,那么这两个ActiveMQ instance就会构成ma

CentOS6.5高可用集群LVS+Keepalived(DR模式)

环境介绍 操作系统:CentOS6.5_x64 mini 负载均衡模式:DR(直接路由) LVS与Keepalived简述: LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.使用集群技术和Linux操作系统实现一个高性能.高可用的服务器,很好的可伸缩性.可靠性和管理性. LVS集群采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构

memcached+magent+keepalived高可用集群二

memcached+magent+keepalived高可用集群二. 上篇我们已经配置好memcached+magent了下面 那如果magent宕机了,讲不能继续提供服务,所以就用到了keepalived,添加一台备用的magent代理服务器.当一台magent宕机了由另一台来接替. 配置步骤: 两台magent代理服务器,一台做主一台做从,当主的宕机了由从的接替继续工作. 两台magent代理服务器再启动时指定相同的主缓存节点与备份缓存节点. 通过keepalived配置文件设置优先级来决定

memcached高可用集群原理及介绍

memcached高可用集群原理及介绍.memcached在实现分布式群集部署时,memcached服务之间是不能进行通讯的,分布式也是通过客户端的算法吧数据保存在不同的memcached中,所以当我们做完群集客户端往里面写入数据时,会出现下面的情况. 客户端往一个memcached节点写入数据后,另外两个节点是查询不到的. 那么如何结局额这个问题,就是接下来要做的了. memcached这种群集之间不能相互通讯导致了这种情况,这在访问量很大的web网站中是不允许的.所以我们就要使用到一个mag