JBoss4.x企业级应用服务平台群集指南.pdfVIP

  • 8
  • 0
  • 约7.45万字
  • 约 63页
  • 2017-09-25 发布于山东
  • 举报
JBoss 企业级应用服务平台群集指南集群 1.集群 用JBoss 群集实现高可用性企业服务 1.1. 前言 群集系统(Clustering)允许我们在多台平行的服务器(群集节点)上运行一个应用程序。 负载分布在不同的服务器上,即使其中任何一台崩溃,应用程序还是可以在其他群集节点(clu ster nodes)上运行。群集对于可扩展性企业级应用程序是很关键的,因为你简单地把更多节点 加入到群集系统里就可以提高性能。 JBoss 应用服务器(AS )缺省支持群集系统。最简单的启动 JBoss 服务器群集的方法就 是在同一本地网络里启动多个 JBoss 实例,每个实例都可以用 run -c all 命令来运行。这些 按照 all 配置文件启动的实例,可以检测到对方而自动组成一个群集系统。 在本章的第一部分,我们将讨论 JBoss 群集服务的基本概念。在阅读本章后面的内容之前, 先理解这些概念是很重要的。在这部分内容之后,我们将介绍怎样为特定类型的应用程序配置群 集系统。 1.1.1.群集系统的定义 群集系统是节点(node)的集合。在 JBoss 群集系统里,节点是一个 JBoss 服务器实 例。因此,为了建立一个群集,JBoss 实例必须组合在一起 (通称partition)。在同一个网 络里,我们可能有不同的群集。为了区分,每个群集都必须有一个唯一的名字。 图1.1“集群服务节点”,展示了网络里的 JBoss 服务器实例被分到三个群集系统里, 有的群集系统只有一个节点。在任何时候,你都可以在群集里加入或删除节点。 图 1.1. 集群和服务节点 每个 JBoss 服务器实例(节点)在 deploy/cluster-service.xml 文件的 ClusterParti tion MBean 里指定了它所加入的群集(也就是 partition)。所有具有相同 ClusterPartitio n MBean 配置的节点加入到同一个群集系统里。因此,如果你想把同一个网络里的 JBoss 节 点分开到两个群集里,你可以使用两个不同的 ClusterPartition MBean 配置,每个节点可以 根据它所需要加入的群集来选择其中一个配置。如果节点启动的时候,它指定的群集不存在,这 个群集将被创建。相同地,当群集系统的所有节点都被删除后,这个群集也将被删除。 下例展示了标准 JBoss AS 发行版本里的 MBean 的定义。如果你在本地网络里用缺 省的群集设定来启动 JBoss 服务器,你将得到一个叫 DefaultPartition 的缺省群集,它包 括了所有作为节点的服务器实例。 在这里,我们忽略了这个群集的详细的 JGroups 协议配置(protocal configuration)。 JGroups 处理节点之间底层的点到点通信,我们将在 Section 1, “JGroups 配置”里讨论它 的配置。下面的列表展示了 ClusterPartition MBean 里可用的配置属性。 PartitionName 是用来指定节点名称的可选属性。它的缺省值是 DefaultPartition。 NodeAddress 是一个可选属性,指定这个节点所绑定的IP 地址。 DeadlockDetection 是用来通知 Jgroups 为每个请求运行消息死锁检测算法(message deadlo ck detection algorithms)的可选布尔值属性。它的缺省值是 false。 StateTransferTimeout 是用来指定跨群集的状态复制(state replication)的超时时间(以 毫秒为单位)的可选属性。它的缺省值是 30000。 PartitionConfig 是一个用来为这个群集(见Section 1, “JGroups 配置”) 指定 JGroup 配 置选项的元素(element)。 为了组成一个群集系统,它们必须有刚好一样的 PartitionName 和 PartitionConfig 元 素。只改变其中一些而不是全部节点会导致群集的分离。通常来说,修改 PartitionConfig (即: 地址/端口)而不是 PartitionName 来运行多个群集系统会比较容易,因为后者需要在其他配置 文件里的

文档评论(0)

1亿VIP精品文档

相关文档