在学习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,掌握的东西就会越来越多。

【J2EE之web应用】java集群概念的更多相关文章

  1. java集群技术(转)

    来源:http://blog.csdn.net/cdh1213/article/details/21443239 序言 越来越多的关键应用运行在J2EE(Java2, Enterprise Editi ...

  2. 深入了解java集群技术

    原文源自:http://blog.csdn.net/happyangelling/article/details/6413584 序言 越来越多的关键应用运行在J2EE(Java 2, Enterpr ...

  3. java集群

    java集群 分类: java学习2011-05-12 09:12 7531人阅读 评论(9) 收藏 举报 java服务器负载均衡ejb集群数据库 序言 越来越多的关键应用运行在J2EE(Java 2 ...

  4. java集群技术

    序言 越来越多的关键应用运行在J2EE(Java 2, Enterprise Edition)中,这些诸如银行系统和账单处理系统需要高的可用性(High Availability, HA),同时像Go ...

  5. java集群技术(转)

    序言 越来越多的关键应用运行在J2EE(Java 2, Enterprise Edition)中,这些诸如银行系统和账单处理系统需要高的可用性(High Availability, HA),同时像Go ...

  6. 2015第44周五Java集群技术(转)

    从http://blog.csdn.net/cdh1213/article/details/21443239上看到这篇文章,感觉很不错,找好久没找到中文出处,最早看是从http://www.these ...

  7. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  8. Corosync+Pacemaker+crmsh构建Web高可用集群

    一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...

  9. 转载:【Oracle 集群】RAC知识图文详细教程(一)--集群概念介绍

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

随机推荐

  1. 将MyEclipse项目导入到Eclipse中

    1.请首先确保你的eclipse是javaee版本的,或者已经安装wtp插件 2.然后修改eclipse工程下的.project文件: 3.在<natures></natures&g ...

  2. WhyEngine游戏合集2014贺岁版

    WhyEngine游戏合集2014贺岁版 自去年9月份开始写我的第一个小游戏,到现在为止,共实现了14个小游戏,10个屏保程序,7个DEMO程序.开发环境是VS2008,渲染使用的是D3D,所有代码都 ...

  3. 3D屏保程序:汉诺塔

    学过程序的人一定记得汉诺塔.我们学的第一个程序是HelloWorld,而碰到的第一个坑就是汉诺塔,短短十几行代码,不知花费了多少时间精力去理解.我记得当年的开发环境还是蓝屏的,汉诺塔程序的输出还是一行 ...

  4. C#调用C++ memcpy实现各种参数类型的内存拷贝 VS marshal.copy的实现 效率对比

    using System; using System.Runtime.InteropServices; using System.IO; namespace tx { struct ST { publ ...

  5. 修改一行SQL代码 性能提升了100倍

    在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s.最初我们学习使用 EXPLAN ANAL ...

  6. 微信小程序自定义数据分析试水

    昨晚收到小程序自定义分析的内测邀请,简单试用了一下.说明挺长的,大概是这个意思: 一.定义一系列事件,对其进行统计 事件可以对页面中的这些事件进行追踪 click enterPage leavePag ...

  7. winform暴走表情制作器

    c# winform暴走表情制作器,项目工程下载地址:项目下载地址 程序运行截图: 部分代码:获取鼠标所在的图片中坐标 private void pictureBox1_MouseDown(objec ...

  8. poj 2135 (基础费用流)

    题意:从1到n再到1,每条边只能走一次,求最短距离. 建图:每条边只能走一次就是流量是1,添加源点与1相连,容量为2,费用为0,n与汇点相连容量为2,费用为0: 求增广路用SPFA最短路求,, #in ...

  9. JSP 页面传值

    使用session会话传值并重定向页面 //得到用户提交的值 String name = request.getParameter("username"); String pwd ...

  10. win7系统下用vspd软件进行串口编程实例

    http://blog.csdn.net/qiusuo800/article/details/8299777 目前,我在学习C#串口编程类的基础知识,在网上也找了一些资料,但都存在一些问题,现在他们基 ...