在学习web应用进行部署的时候,遇到一个名词java集群,(事实上遇到非常多名词╭(╯^╰)╮~~~)。不懂意思就查一查!
在这里做个笔记!
没有什么高深见解,就搞明确几个概念,java集群的特点 。还有什么时候使用。这几个问题。
基本术语
假设查java集群概念同一时候又会得到非常多术语,最基本的两个概念是:负载均衡和失效转移。字面意思各自是将请求进行分散和失效的方法或事务进行转移。
越来越多的企业关键应用都必须採用集群技术,实现负载均衡(Load Balancing)、容错(Fault Tolerance)和失效转移(Failover)。以达到系统可用性(High Availability)和可伸缩性(Scalability)的要求。
以下主要介绍几个术语解释。
分布式:
目的
可伸缩性(Scalability):在一些流量非常大的系统中,企业是没有办法对终于用户数量的行为进行准确预測的。这就要求系统能适应不断添加的用户数量。提高这样的并发会话能力的一种最直接方式就是添加资源,而集群的第二种解决方案是同意一组server进行相连,像单个server一样分担处理一个复杂的任务。
高可用性(High Availability):在企业级系统中单一的server并非健壮的解决方式。假设出现单点失效就会造成非常多不可预知的损失。比方在银行正在处理账单的时候,假设server暂停几分钟。或者一个请求响应一小时,后果想想都肉疼。所以如今就须要能不论什么时间进行訪问而且可预期周期时间内进行响应。
集群解决方式就是在集群内添加冗余的server。使当中不论什么一个server出错。都能够通过其它server获得服务。从而是系统获得高可用性。、
技术
负载均衡(Load Balancing):这是集群里一个关键性技术,能够把请求分发给不同的server。这样系统的可用性和性能都会提升。负载均衡器能够是一个简单的servlet或者其它硬件。
当然负载均衡器也要运行一些其它的任务。如“会话胶粘”保证一个请求始终在一个server上,“健康检查”防止把请求分配到失效的server上。
容错(Fault Tolerance):1、server实例失效,服务仍然有效。而且新的请求会被冗余server处理;2、请求在失效server上处理,结果的正确性会不确定。这也就是说只是有多少错误。容错服务要确保有严格正确的行为。
失效转移(Failover):这也是集群的还有一项关键技术。它添加了容错能力。当集群中一个结点失效后,会在集群里选择其它结点继续运行。保证任务处理不会停止。转移到还有一个结点能够被显式的编码,或是通过底层平台透明的路由到还有一个server。
等幂方法(Idempotent methods):等幂方法是指这样一些方法:反复用同样的參数调用都能得到同样的结果。这些方法不会影响系统状态。能够反复调用而不用操心改变系统。例 如:getUsername()就是等幂的。而deleteFile就不是。当我们讨论HTTP Session失效转移和EJB失效转移时,它是一个重要的概念。
java集群什么时候使用
什么类型对象能够被集群?——仅仅有那些能够被部署到分布式拓朴结构中的组件。
在我的J2EE代码中,什么地方会有负载均衡和失效转移?——仅仅在你调用分布式组件的方法时。
java集群和分布式这个概念有时候会常常在一起,一般有几种情况会比較用的多:
1、企业级项目中。须要利用非常多的server进行处理;
2、为保证数据安全,对于数据的备份;
3、当事务非常多非常多的时候,问题非常多。将问题分化。比如tomcat是一个轻量级的web服务,可是通过集群它也能够处理很多其它的事情。
结语:
重新和一个师哥交流,他说的一句话印象 很深刻:第二次总比第一次经验多。当有一个不懂的概念。去查资料。请教他人。在这个过程中。也许不会得到什么特别多的技术经验,可是经过N+1,掌握的东西就会越来越多。