您的位置:首页 > 编程语言 > Java开发

【J2EE之web应用】java集群概念

2015-07-18 21:50 567 查看
在学习web应用进行部署的时候,遇到一个名词java集群,(其实遇到很多名词╭(╯^╰)╮~~~),不懂意思就查一查!在这里做个笔记!

没有什么高深见解,就搞明白几个概念,java集群的特点 ,还有什么时候使用。这几个问题。

基本术语

如果查java集群概念同时又会得到很多术语,最主要的两个概念是:负载均衡和失效转移。字面意思分别是将请求进行分散和失效的方法或事务进行转移。

越来越多的企业关键应用都必须采用集群技术,实现负载均衡(Load Balancing)、容错(Fault Tolerance)和失效转移(Failover)。以达到系统可用性(High Availability)和可伸缩性(Scalability)的要求。下面主要介绍几个术语解释。

分布式:

目的

可伸缩性(Scalability):在一些流量很大的系统中,企业是没有办法对最终用户数量的行为进行准确预测的,这就要求系统能适应不断增加的用户数量。提高这种并发会话能力的一种最直接方式就是增加资源,而集群的另外一种解决方式是允许一组服务器进行相连,像单个服务器一样分担处理一个复杂的任务。

高可用性(High Availability):在企业级系统中单一的服务器并不是健壮的解决方案,如果出现单点失效就会造成很多不可预知的损失。比如在银行正在处理账单的时候,如果服务器暂停几分钟,或者一个请求响应一小时,后果想想都肉疼。所以现在就需要能任何时间进行访问并且可预期周期时间内进行响应。集群解决方案就是在集群内增加冗余的服务器,使其中任何一个服务器出错,都可以通过其他服务器获得服务,从而是系统获得高可用性。、

技术

负载均衡(Load Balancing):这是集群里一个关键性技术,可以把请求分发给不同的服务器,这样系统的可用性和性能都会提升。负载均衡器可以是一个简单的servlet或者其他硬件。当然负载均衡器也要执行一些其他的任务,如“会话胶粘”保证一个请求始终在一个服务器上,“健康检查”防止把请求分配到失效的服务器上。

容错(Fault
Tolerance)
:1、服务器实例失效,服务仍然有效,并且新的请求会被冗余服务器处理;2、请求在失效服务器上处理,结果的正确性会不确定。这也就是说不过有多少错误,容错服务要确保有严格正确的行为。

失效转移(Failover):这也是集群的另一项关键技术,它增加了容错能力,当集群中一个结点失效后,会在集群里选择其他结点继续执行,保证任务处理不会停止。转移到另一个结点可以被显式的编码,或是通过底层平台透明的路由到另一个服务器。

等幂方法(Idempotent methods):等幂方法是指这样一些方法:重复用相同的参数调用都能得到相同的结果。这些方法不会影响系统状态,可以重复调用而不用担心改变系统。例 如:getUsername()就是等幂的,而deleteFile就不是。当我们讨论HTTP Session失效转移和EJB失效转移时,它是一个重要的概念。

java集群什么时候使用

什么类型对象可以被集群?——只有那些可以被部署到分布式拓朴结构中的组件。
在我的J2EE代码中,什么地方会有负载均衡和失效转移?——只在你调用分布式组件的方法时。

java集群和分布式这个概念有时候会经常在一起,一般有几种情况会比较用的多:

1、企业级项目中,需要利用很多的服务器进行处理;

2、为保证数据安全,对于数据的备份;

3、当事务很多很多的时候,问题很多,将问题分化。例如tomcat是一个轻量级的web服务,但是通过集群它也可以处理更多的事情。

结语:

又一次和一个师哥交流,他说的一句话印象 非常深刻:第二次总比第一次经验多。当有一个不懂的概念,去查资料,请教他人,在这个过程中,或许不会得到什么特别多的技术经验,但是经过N+1,掌握的东西就会越来越多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: