Ⅰ java服务集群与非集群的区别
集群肯定比非集群的处理能力强,但是你们集群不快可能是处理的瓶颈不在WEB到服务端的请求上,有可能是WEB端需要集群而不是服务端,更有可能是数据库出现处理瓶颈而不是服务端。
要根据日志分析和监控判断好到底慢在哪里。
一天才30000笔业务,对服务端程序来说简直不值一提的
Ⅱ java 怎样学习高并发集群等这些知识。平时项目中遇不到。
效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。
但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。
Ⅲ java如何实现对集群的监控
用Open-falcon,Open-falcon是小米运维团队从互联网公司的需求出发,根据多年的运维经验,结合SRE、SA、DEVS的使用经验和反馈,开发的一套面向互联网的企业级开源监控产品。
Ⅳ 现在最常用的Java集群框架是哪个
Nutz, 一组轻便小型的框架的集合, 各个部分可以被独立使用。 而 Nutz 的目标
就是在力所能及的情况下,最大限度的提高Web开发人员的生产力。
Ⅳ java 集群
一旦在服务器上安装并运行了群集服务 , 该服务器即可加入群集。群集化操作可以减少单点故障数量,并且实现了群集化资源的高可用性。下述各节简要介绍了群集创建和群集操作中的节点行为。
注意 : 有关安装群集服务器的信息 , 请参阅 Windows server 2003 产品家族的帮助和部署指南。
创建群集
在服务器群集产品中含有用来在服务器上安装群集软件和创建新群集的群集安装实用工具。创建新群集时,首先在选择作为群集的第一个成员的计算机上运行该实用工具。第一步是确定群集名称并创建群集数据库和初始的群集成员列表来定义新群集。 Windows server 2003 群集新增了一个群集管理设置向导以及使用 cluster.exe 命令行界面创建 ( 包括从远程创建 ) 群集的功能。
创建群集的第二步是 , 添加可供所有群集成员使用的共用数据存储设备。这样,创建的新群集将带有一个节点、自己的本地数据存储设备以及群集共用资源 —— 通常是磁盘或数据存储和连接介质资源。
创建群集的最后一步是 , 在另外将要成为群集成员的每一台计算机上运行安装实用工具。每当将新节点添加到群集中时,新节点都会自动从群集的原始成员获得现有群集数据库的副本。当节点加入或形成群集时,群集服务会更新该节点私有的配置数据库副本。
形成群集
如果服务器运行了群集服务并且无法找到群集中的其它节点 , 它自己可以形成一个群集。要形成群集,节点必须能够获得对仲裁资源的独占权。
当最初形成群集时 , 群集中的第一个节点将包括群集配置数据库。每当有新节点加入群集时,新节点都会在本地获得并保持群集配置数据库的副本。仲裁资源用恢复日志(其中含有同节点无关的群集配置和状态数据)的形式存储配置数据库的最新版本。
在群集运行中 , 群集服务使用仲裁恢复日志执行以下操作 :
• 保证只有一组活动、可相互通讯的节点才能形成群集
• 仅当某个节点可以获得对仲裁资源的控制权时 , 才允许它形成群集
• 仅当某个节点可以同控制仲裁资源的节点通讯时 , 才允许它加入或留在现有群集中
从群集中的其它节点和群集服务管理接口的角度看 , 当形成群集时 , 群集中的每个节点可能处于三种不同状态中的一种。事件处理器会记录这些状态,而事件日志管理器会将这些状态复制到群集的其它节点。群集服务状态包括:
• 脱机 。此时的节点不是完全有效的群集成员。该节点及其群集服务器可能在运行,也可能未运行。
• 联机 。此时的节点是完全有效的群集成员。它遵从群集数据库的更新、对仲裁算法施加自己的影响、维护心跳通讯,并可以拥有和运行资源组。
• 暂停 。此时的节点是完全有效的群集成员。它遵从群集数据库的更新、对仲裁算法施加自己的影响、维护心跳通讯,但它无法接受资源组。它只能支持它当前已拥有的那些资源组。之所以提供暂停状态,是为了允许执行某些维护。大多数服务器群集组件会将联机和暂停视为等价的状态。
加入群集
如果一个服务器要加入现有群集 , 则它必须运行群集服务并且必须成功找到群集中的其它节点。在找到其它节点后,加入的服务器必须接受群集成员资格验证,并获得群集配置数据库的副本。
加入现有群集的过程开始于 Windows Server 2003 或 Windows 2000 Service Control Manager 在节点上启动群集服务之时。在启动过程中,群集服务会配置并装入该节点的本地数据设备。它并不会试图将共用的群集数据设备作为节点联机,因为现有群集可能正在使用这些设备。
为了查找其它节点 , 会启动一个发现过程。当节点发现任何群集成员时,它将执行身份验证序列。第一个群集成员会对新加入者进行身份验证,并且在新服务器得到成功验证后返回成功状态。如果验证不成功(未能识别待加入节点的群集成员身份,或者它使用了无效的帐户密码),则加入群集的请求会被拒绝。
进行成功验证后 , 首先联机的群集节点会检查加入节点上的配置数据库副本。如果该副本已过时,对加入服务器进行验证的群集节点会为加入的服务器发送该数据库的更新副本。刚加入群集的节点在收到复制的数据库后,可以用它查找共享资源并根据需要将它们联机。
脱离群集
当节点关闭或群集服务被停止时 , 节点可能脱离群集。但当节点不执行群集操作(比如不向群集配置数据库提交更新)时,节点也可能被迫脱离(被逐出)群集。
如果节点根据预先的计划脱离群集 , 它会向其它所有节点成员发送 ClusterExit 消息 , 通知它们它将脱离群集。该节点不等待任何响应就会立即进行关闭资源和所有群集连接的操作。由于其余节点收到了退出消息,因此它们不会执行在节点意外失效或网络通讯停止时发生的重新分组过程以重新确立群集成员身份。
[ 本日:2 本周:2 本月:60 总浏览数:128 ] [返回上一页] [打 印] [收 藏]
上一篇文章:故障检测和相关链接
下一篇文章:windows 2000活动目录详解之安装配置篇
Ⅵ JAVA WEB项目集群部署问题
根据中间件不同部署方式也不同。tomcat下面就要分别部署了,weblogic支持分别部署,也支持统一部署(两种方式各有优缺点,推荐分别部署)。
中间件基本上都支持session共享复制,不过实现方式可能有点区别(有的是基于容器,有的是基于memcache等等)。
Ⅶ java集群怎么保证session共享
java集群之session共享解决方案
1
集群中session安全和同步是个最大的问题,下面是收集到的几种session同步的方案,希望能通过分析其各自的优劣找出其适应的场景。
1
2
3
4
1. 客户端cookie加密
这是我以前采用的方式,简单,高效。比较好的方法是自己采用cookie机制来实现一个session,在应用中使用此session实现。
问题:session中数据不能太多,最好只有个用户id。
参考实现:http://rollerweblogger.org/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2. application server的session复制
可能大部分应用服务器都提供了session复制的功能来实现集群,tomcat,jboss,was都提供了这样的功能。
问题:
性能随着服务器增加急剧下降,而且容易引起广播风暴;
session数据需要序列化,影响性能。
如何序列化,可以参考 对象的序列化和反序列化.
参考资料:
Tomcat 5集群中的SESSION复制一
Tomcat 5集群中的SESSION复制二
应用服务器-JBoss 4.0.2集群指南
1
2
3
4
5
6
7
8
9
10
3. 使用数据库保存session
使用数据库来保存session,就算服务器宕机了也没事,session照样在。
问题:
程序需要定制;
每次请求都进行数据库读写开销不小(使用内存数据库可以提高性能,宕机就会丢失数据。可供选择的内存数据库有BerkeleyDB,Mysql的内存表);
数据库是一个单点,当然可以做数据库的ha来解决这个问题。
1
2
3
4
5
6
7
8
9
10
4. 使用共享存储来保存session
和数据库类似,就算服务器宕机了也没事,session照样在。使用nfs或windows文件共享都可以,或者专用的共享存储设备。
问题:
程序需要定制;
频繁的进行数据的序列化和反序列化,性能是否有影响;
共享存储是一个单点,这个可以通过raid来解决。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
5. 使用memcached来保存session
这种方式跟数据库类似,不过因为是内存存取的,性能自然要比数据库好多了。
问题:
程序需要定制,增加了工作量;
存入memcached中的数据都需要序列化,效率较低;
memcached服务器一死,所有session全丢。memchached能不能做HA? 我也不知道,网站上没提。
参考资料:
应用memcached保存session会话信息
正确认识memcached的缓存失效
扩展Tomcat 6.x,使用memcached存放session信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
6. 使用terracotta来保存session
跟memcached类似,但是数据不需要序列化,并且是Find-Grained Changes,性能更好。配置对原来的应用完全透明,原有程序几乎不用做任何修改。而且terracotta本身支持HA。
问题:terracotta的HA本身进行数据复制性能如何?
参考资料:
JVM-level clustering
Terracotta集群Tomcat实现Session同步
使用Terracotta和Tomcat建立ACTIVE-PASSIVE模式的集群
用Spring Web Flow和Terracotta搭建Web应用
Terracotta实战示例——集群RIFE
Ⅷ java搭建分布式集群项目大概需要多少台服务器
超过一台都可以叫集群,只有一台也可以算分布式,需要多少台服务器,主要看你的项目有多少模块,需要多高的性能。没有什么硬性要求,不用纠结