2019独角兽企业重金招聘Python工程师标准>>>

weblogic集群集群说明 博客分类: 中间件

预备知识
  
  什么是Domain和Server
  
  Domain
  
  Domain是WebLogic Server实例的基本治理单元。所谓Domain就是,由配置为Administrator Server的WebLogic Server实例治理的逻辑单元,这个单元是有所有相关资源的集合。
  
  Server
  
  Server是一个相对独立的,为实现某些特定功能而结合在一起的单元。
  
  Domain and Server的关系
  
  一个Domain 可以包含一个或多个WebLogic Server实例,甚至是Server集群。一个Domain中有一个且只能有一个Server 担任治理Server的功能,其它的Server具体实现一个特定的逻辑功能

WebLogic Server 群集由多个 WebLogic Server 服务器实例组成,这些服务器实例同时运行并一起工作以提高可缩放性和可靠性。对于客户端而言,群集是一个 WebLogic Server 实例。构成群集的服务器实例可以在同一台计算机上运行,也可以位于不同的计算机上。可以通过向现有计算机上的群集中添加更多的服务器实例来增加群集的容量,也可以向群集中添加计算机以承载递增的服务器实例。群集中的每个服务器实例必须运行同一版本的 WebLogic Server。

群集与域

群集是特定 WebLogic Server 域的一部分。

域是作为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。

可以使用各种条件将 WebLogic Server 实例组织到域中。例如,可以选择根据承载的应用程序的逻辑分区、地理方面的考虑或管理的资源的数目或复杂性将资源分配到多个域中。

在每个域中,一个 WebLogic Server 实例可充当管理服务器 - 此服务器实例可配置、管理和监视域中所有其他服务器实例和资源。每个管理服务器只管理一个域。如果一个域中包含多个群集,则域中的每个群集都具有相同的管理服务器。

群集中的所有的服务器实例必须驻留在同一域中;不能将群集“拆分”到多个域中。同样,不能在域之间共享配置的资源或子系统。例如,如果在一个域中创建了 JDBC 连接缓冲池,则不能将其用于另一个域中的服务器实例或群集。(而是必须在另一个域中创建类似的连接缓冲池。)

群集的 WebLogic Server 实例除提供故障转移和负载平衡外,其他行为与非群集的实例相似。配置群集的 WebLogic Server 实例所使用的过程和工具与配置非群集的 WebLogic Server 实例所使用的过程和工具相同。但是,为了获得群集启用的负载平衡和故障转移优点,必须符合群集配置的某些准则。

群集的优点

WebLogic Server 群集提供了以下这些优点:

  • 可伸缩性

    可以动态增加部署在 WebLogic Server 群集中的应用程序的容量以满足需要。可以将服务器实例添加到群集中而不会中断服务 - 应用程序将继续运行而不会影响客户端和最终用户。

  • 高可用性

    在 WebLogic Server 群集中,当服务器实例失败时应用程序可继续进行处理。可通过将应用程序组件部署到群集中的多个服务器实例“群集”这些组件 - 这样,如果在其上运行某个组件的服务器实例失败,则将此组件部署到的其他服务器实例可以继续进行应用程序处理。

群集 WebLogic Server 实例的选择对于应用程序开发人员和客户端是透明的。但是,了解启用群集的技术基础结构将有助于编程人员和管理员最大化其应用程序的可伸缩性和可用性。

群集的关键功能

本部分采用非技术术语定义了启用可伸缩性和高可用性的关键群集功能。

  • 应用程序故障转移

    简单的说,故障转移是当应用程序组件(在下列部分中通常称作“对象”)正在处理某个特定作业时 - 某些处理任务部分由于任何原因而变得不可用,已失败对象的副本将结束此作业。

    对于能够接管失败对象的新对象:

    • 必须存在可接管作业的已失败对象的副本。
    • 必须存在对于其他对象和管理故障转移的程序可用的信息,从而定义所有对象的位置和操作状态,以便在完成其作业之前确定第一个失败的对象。
    • 必须存在对于其他对象和管理故障转移的程序可用的信息(关于正在进行中的作业的进度),以便接管中断作业的对象了解在第一个对象失败之前完成的作业量,例如,已更改的数据以及过程中已完成的步骤。

      WebLogic Server 使用基于标准的通信技术和工具 - 多播、IP 套接口、以及 Java 命名和目录接口 (JNDI) 来共享和维护群集中有关对象可用性的信息。这些技术允许 WebLogic Server 确定某个对象在结束其作业之前已停止,以及用于完成已中断作业的对象副本的位置。

      有关已对作业所进行的操作的信息被称作状态。WebLogic Server 可使用称为“会话复制”和“可识别副本的存根控件”的技术来维护有关状态方面的信息。如果某个特定对象意外地停止进行其作业,复制技术将启用此对象的副本将拾取失败对象停止的位置,并完成作业。

  • WebLogic Server 支持自动或手动将群集服务器实例从一台计算机迁移到另一台计算机。可迁移的受管服务器被称作“可迁移服务器”。本功能适用于要求高可用性的环境。服务器迁移功能对于以下方面非常有用
    • 确保“单元集服务”的不中断可用性 - 当承载服务器实例失败时,在任何给定的时间,单元集服务必须仅在单个服务器实例上运行,例如 JMS 和 JTA 事务恢复系统。为自动迁移配置的受管服务器在失败时将被自动迁移到另一台计算机。
    • 简化重新定位受管服务器的过程以及其承载的所有服务是规划系统管理进程的一部分。管理员可以从管理控制台或命令行中启动受管服务器的迁移。

      服务器迁移过程会将整个受管服务器(包括 IP 地址和承载的应用程序)重新定位到预先定义的可用主机集中的一个。

  • 负载平衡

    负载平衡是在环境中跨计算资源与网络资源平均分发作业和关联的通信。对于即将发生的负载平衡:

    • 必须存在可以执行特定作业的对象的多个副本。
    • 有关所有对象的位置和操作状态的信息必须可用。

      WebLogic Server 允许群集对象 - 部署在多个服务器实例中,以便具有执行同一作业的备用对象。WebLogic Server 会使用多播、IP 套接口和 JNDI 共享和维护已部署对象的可用性和位置。

可以群集对象的类型

群集的应用程序或应用程序组件在群集中的多个 WebLogic Server 实例上可用。如果已群集某个对象,则此对象的故障转移和负载平衡是可用的。将对象均匀部署到群集中的每个服务器实例,可以简化群集管理、维护和故障排除。

Web 应用程序可由不同类型的对象组成,包括企业 Java Bean (EJB),servlet 和 Java Server Pages (JSP)。每种对象类型都具有唯一的一组与控制、调用以及它如何在应用程序内起作用相关的行为。由于此原因,WebLogic Server 用于支持群集的方法,以及用于提供负载平衡和故障转移的方法,会因不同的类型对象而异。可在 WebLogic Server 部署对下列类型的对象进行群集:

  • Servlet
  • JSP
  • EJB
  • 远程方法调用(Remote Method Invocation,简称 RMI)对象
  • Java 消息服务 (JMS) 目标
  • Java 数据库连接 (JDBC) 连接

不同对象类型可以具有某些共同的行为。如果是这样的话,则这些类似对象类型的群集支持和实现注意事项可能是相同的。在以下部分中,以下对象类型的解释和说明通常组合为:

  • Servlet 和 JSP
  • EJB 和 RMI 对象

下列部分简述了 WebLogic Server 为不同类型的对象提供的群集、故障转移和负载平衡支持。

Servlet 和 JSP

WebLogic Server 通过复制访问群集 servlet 和 JSP 的客户端的 HTTP 会话状态,为 servlet 和 JSP 提供了群集支持。WebLogic Server 可在内存、文件系统或数据库中维护 HTTP 会话状态。

要启用 servlet 和 JSP 的自动故障转移,会话状态必须持久保存在内存中。有关 servlet 和 JSP 的故障转移的工作方式信息,以及相关要求和编程注意事项。

可使用 WebLogic Server 代理插件或外部负载平衡硬件在群集中平衡 servlet 和 JSP 的负载。WebLogic Server 代理插件可执行循环法负载平衡。外部负载平衡器通常支持各种会话负载平衡机制。

EJB 和 RMI 对象

可使用“可识别副本的存根控件”(可在群集中定位对象实例)处理 EJB 和 RMI 对象的负载平衡和故障转移。为 EJB 和 RMI 对象创建可识别副本的存根控件是对象编译过程所产生的结果。会将 EJB 和 RMI 对象均匀部署到群集中的所有服务器实例。

可使用对象的可识别副本的存根控件完成 EJB 和 RMI 对象的故障转移。当客户端通过可识别副本的存根控件向失败的服务做出调用时,该存根控件可检测故障并在另一副本上重试此调用。

WebLogic Server 群集支持多种负载平衡群集 EJB 和 RMI 对象的算法:round-robin、weight-based、random、round-robin-affinity、weight-based-affinity 和 random-affinity。默认情况下,WebLogic Server 群集将使用 round-robin 方法。可使用管理控制台配置群集以使用其他方法之一。选择的方法将保留在为群集对象获取的可识别副本的存根控件中。有关详细信息。

JDBC 连接

WebLogic Server 允许您群集 JDBC 对象(包括数据源和多数据源),以提高群集承载应用程序的可用性。为群集配置的每个 JDBC 对象必须存在于群集中的每个受管服务器上 - 当配置 JDBC 对象时,会将其定位到群集。

  • 数据源 - 在群集中,外部客户端必须通过 JNDI 树上的 JDBC 数据源获得连接。数据源使用 WebLogic Server RMI 驱动程序来获取连接。如果承载先前连接的服务器实例失败,那么外部客户端应用程序中的 WebLogic 数据源的群集识别特性将请求另一个连接。尽管不是严格要求,BEA 还是建议服务器端的客户也应通过 JNDI 树中的数据源获得连接。
  • 多数据源 - 多数据源是一组数据源的提取,可提供与此多数据源相关联的各数据源之间的负载平衡或故障转移处理。就像数据源会绑定到 JNDI 树一样,多数据源会绑定到 JNDI 树或本地应用程序上下文。就像在 JNDI 树上查找数据源一样,应用程序将在 JNDI 树上查找多数据源,然后请求数据库连接。多数据源会根据在多数据源配置中选择的算法(负载平衡或故障转移)确定要使用哪一个数据源来满足该请求。

使用群集的 JDBC 获取连接

要确保任何 JDBC 请求可由任何群集成员等同处理,群集中的每个受管服务器必须具有相似命名/定义的数据源或多数据源(如果适用)。要达到此效果,应将数据源和多数据源定位到群集中,以便它们可识别群集,如果将其用于外部客户端,它们将可连接到任何群集成员。

  • 外部客户端连接 - 要求数据库连接执行 JNDI 查找,并获取数据源的可识别副本的存根控件的外部客户端。数据源存根控件包括承载数据源的服务器实例列表 - 服务器实例应该是群集中的所有受管服务器。可识别副本的存根控件包括负载平衡逻辑,用于在主机服务器实例中分发负载。
  • 服务器端客户端连接 - 对于服务器端使用,将由数据源或多数据源的本地实例处理连接请求。服务器端数据源不会由于其 JDBC 连接而转至其他群集成员。在数据库事务的持续时间内,并且只要应用程序代码保留连接(除非连接关闭),连接将被固定到本地服务器实例。

JDBC 连接的故障转移和负载平衡

群集 JDBC 对象不会启用连接的故障转移,但在连接失败时,它将简化重新连接的过程。在复制的数据库环境中,可以群集多数据源以支持数据库故障转移和连接的负载平衡(可选)。有关详细信息,请参阅下列主题:

JMS和群集

通过支持在群集范围内透明访问群集中任何 WebLogic Server 服务器实例中目标,WebLogic Java 消息传递服务 (JMS) 体系结构可实现多个 JMS 服务器的群集。尽管 WebLogic Server 支持通过群集分发 JMS 目标和连接工厂,但是同一 JMS 主题和队列仍由群集中的每个 WebLogic Server 实例独立管理。

JMS 支持负载平衡。要启用负载平衡,必须为 JMS 服务器配置目标。

不可群集类型的对象

以下 API 和外部服务不可在 WebLogic Server 内群集:

  • 包含文件共享的文件服务
  • 时间服务

在群集的各个 WebLogic Server 实例中仍可使用这些服务。但是,这些服务不能使用负载平衡或故障转移功能。

转摘http://www.blogjava.net/zhouxing/archive/2007/06/11/123347.html

转载于:https://my.oschina.net/xiaominmin/blog/1598112

weblogic集群集群说明相关推荐

  1. 什么是集群集群的分类

    概念 集群(Cluster) 计算机集群简称集群,是一种计算机系统,它通过一组松散集成的计算机软件(和/或)硬件连接起来高度紧密地协作完成计算工作.在某种意义上,他们可以被看作是一台计算机.集群系统中 ...

  2. WebLogic集群案例分析

    WebLogic集群案例分析 2013年8月,某证券交易系统(采用Weblogic中间件),由于基金业务火爆,使系统压力太大,后台服务器频繁死机时,这时工程师们紧急调试系统及恢复操作,等完成这些操作花 ...

  3. LINUX 下 WEBlogic集群的搭建-01

    为什么80%的码农都做不了架构师?>>>    weblogic集群IP地址的划分 name ip port 备注 启动脚本 adminServer 10.0.5.51 7001 主 ...

  4. weblogic 正在启动 wsee服务_详解LINUX安装部署weblogic集群--第二部分

    概述 续一下前几天说的安装部署weblogic集群部分,前面介绍了在每台服务器(ABCDE)安装weblogic软件,下面只在A服务器创建域,最后再拷贝到其他服务器即可. 使用Domain Confi ...

  5. linux双物理机weblogic集群,linux下weblogic多机器集群部署要点

    weblogic在部署单台物理的多节点服务器(受管服务器)集群时候,只要根据提示下一步下一步都能完成. 最近帮测试部部署一个简单的双物理机weblogic集群(下简称多机集群) 1.在部署多机集群时, ...

  6. weblogic集群安装心得-程序包发布

    安装weblogic可以通过命令行或者图形安装 如果安装weblogic集群,可以先分别在两个节点上安装weblogic软件,然后把weblogic控制台起来 注释:被管理节点是集群的,管理节点是单节 ...

  7. Docker创建 tomcat/weblogic 集群

    安装 tomcat 镜像 准备好需要的 jdk.tomcat 等软件放到 home 目录下面,启动一个容器 docker run -t -i -v /home:/opt/data --name mk_ ...

  8. weblogic集群的资料

    博客分类: weblogic 其实网上关于weblogic集群的资料非常多[大部分都是从创建新的domain开始,我这篇先介绍怎么样把原本普通的domain改造为集群环境],如果觉得不够,可以啃web ...

  9. weblogic 集群配置

    2019独角兽企业重金招聘Python工程师标准>>> 一.Weblogic的集群 还记得我们在第五天教程中讲到的关于Tomcat的集群吗? 两个tomcat做node即tomcat ...

最新文章

  1. OkHttp源码分析
  2. Python排序dict之list数组
  3. 怎么将SAP数据传输到其他系统(Transferring Data from SAP to Other Systems)
  4. 【Java报错】GP数据库 function point(unknown) is not unique.Could not choose a best candidate function 问题解决
  5. VTK:量化多数据点用法实战
  6. 2020蓝桥杯省赛---java---B---7(分类计数)
  7. java http2_探索HTTP/2: HTTP 2协议简述(原)
  8. android中的BitMap(二)从网络和资源文件中获得一个BitMap
  9. c语言鼠标环绕特效,C语言写的鼠标有残影,急需解决方案,在线等待!
  10. XSS挑战之旅平台通关练习(1-20)
  11. c++ 结构体初始化_C/C++编程笔记:C语言和C++语言的 struct 对比!区别在哪里?
  12. zz java compare 接口
  13. pnp型三极管 饱和 截至_截至2013年核心Java帖子
  14. 俄罗斯的程序员工资高吗
  15. 斯坦福发布3D街景数据集:8个3D城市模型+2500万图像+1.18亿图像配对
  16. lisp钢管_图纸管道材料代号说明
  17. 华为路由协议与简单实验
  18. 生产环境CPU飙高问题解决,记一次完整解决过程
  19. 原创如何看机械硬盘SMART信息
  20. Android生物认证Biometric 四十行代码轻松实现面部识别、指纹认证

热门文章

  1. ssm+redis 如何更简洁的利用自定义注解+AOP实现redis缓存
  2. zookeeper集群
  3. StringBuffer跟StringBuilder以及HashMap跟HashTable
  4. 俄罗斯黑客被指攻击本国的工业组织机构
  5. SweynTooth:这些蓝牙漏洞导致多种设备易受攻击
  6. less+rem迭代适配
  7. Linux 系统 vim 编辑器使用简明教程
  8. 每周一书-《程序开发心理学(银年纪念版)》
  9. 【转载】Apache如何设置访问一个目录需要密码
  10. [老生常谈] Linux 下读取windows共享目录