消息中间件的集群技术

美白针

美白针价格

http://www.shzhenai.com/Activity/201103/MeiBaiZhen/

消息中间件(

Message Oriented Middleware

是一类特定的中间件,

它利用高效可靠的消息传递机制进行平台无关的数据交流,

并基

于数据通信来进行分布式系统的集成。

通过提供消息传递和消息排队模型,

它可在分布环境

下扩展进程间的通信,并支持多通信协议、语言、应用程序、硬件和软件平台。目前流行的

MOM

中间件产品有

IBM

MQSeries

BEA

MessageQ

等。

若干个松耦合的节点构成的集

合就是集群。

集群把单个消息中间件扩展到消息中间件的环境,

构成的消息中间件集群可以

为客户提供分布式的消息服务。

集群中的每个节点都是一个单独的

服务器

,运行自己的服务。节点之间可以相互通信,

而在客户看来,它好像只是在与一个单独的系统交互。

集群提供了单个服务器无法提供的优点:

(1)

缩短系统由于单个服务器失效而导致的停工时间;

(2)

保证消息服务器的可用性;

(3)

庞大的客户数量;

(4)

通过负载平衡提高系统的效率。

1

集群的实现

集群由配置管理来创建,在集群里,有一个以上的服务器实例在运行,并这些实例可以

运行在相同的主机,或是分布在

网络

上。集群的实现方式采用主

/

从方式。这种集群方式易

于理解。

"

"

"

"

都是相对消息而言的。所谓

"

"

是指某个服务器是某几类消息发布用的

服务器;

"

"

是指该服务器对某几类消息起着路由转发的作用,

服务器本身也作为这些消息

的消费者。我们通过发布

/

订阅方式解决集群的一个重要问题:发现和查询,即如何查找集

群的其它节点并从它们访问更深的节点信息,

以及如何保持这些信息是最新的。

服务器节点

在消息中存储它们的集群信息,该信息用

XML

来描述,其他节点可以订阅这个数据。如果

需要的话,一个服务器可以作为

"

命名服务

"

运行,维护所有可用服务器实例的信息。

在后面的部分,服务器实例,服务器节点或节点这几个术语可以互换。

1.1

集群涉及到的问题

(1)

可扩展性

一个主服务器实例可以有多个从服务器实例,

形成多个特定的消息域。

这些从服务器还

可以有自己的从服务器。

这样可以把消息分发给数量近乎无限的客户。

服务器节点可以是某

些消息的主服务器,同时又是另一些消息的从服务器。

1

可扩展性:集群可以根据客户的数量

"

无限

"

扩展

2014年中考冲刺综合复习指导

北京地区试题 广东地区试题 江苏地区试题

我们用

"

"

来表示从节点到主节点的距离。这种做法类似网络时间协议(

NTP

0

层表示主

节点本身,

1

层是第一层从节点到主节点的距离。图

1

S4

S1

的距离为

2

层。

(2)

可用性(失效恢复)

如果主服务器发生故障,

从服务器可以转变到主服务器的角色。

3

种不同的故障情况需要

考虑:

1)

主节点故障:譬如图

1

中的

S1

发生故障,可能会选择

S3

成为新的主节点。

2)

从节点故障:一个从节点发生故障,它的从节点需要重新安排自己。譬如,图

1

中,如

S3

发生了故障,

S4

需要知道当前集群

的情况,然后选择一个低负载的或层数少的节点重新连接。

3)

客户重连:

客户失去了与一个服务器实例的连接,

需要重新寻找另一个服务器进行连接。

(3)

基于消息域的逻辑分类一个服务器实例可以是某些消息的主节点

(

譬如,

证券交易消息

)

同时又是其他消息

(

譬如,空中交通控制或体育新闻

)

的从节点,我们把根据消息形成的主

/

从关系称之为集群消息域。

客户则不需要知道哪个服务器是主服务器,

只需连接到集群中的

一个服务器实例,就可以获得所有信息。

(4)

负载平衡

:

集群允许一个特定消息域有一个以上的主节点。

所有主节点是这些消息的映像

节点。发布的消息可以到达所有的主

节点。订阅的消息通过某种负载平衡算法获得。

1.2

http://www.shzhenai.com/Activity/201103/MeiBaiZhen/

1.2.1

实现

3

种逻辑映射功能:

(1)

查询消息的主节点

要把消息映射到某个主节点。

理论上来说可以根据消息的任何信息做出映射。

我们采用比较

简单的基于元素

KEY

属性的方法:在

<KEY>

标签里使用一个属性

domain

,譬如:

<KEY domain= "

证券交易

"/>

基于

domain

的方法把域名映射到集群节点

ID

。见表

1

(2)

从可用的主节点列表中选择一个(负载平衡)如果在

(1)

中找到一个以上的主节点,就需

要通过负载平衡算法从中选择一个。

我们使用循环法作为负载平衡逻辑。

这需要知道某个集

群节点当前的负载情况。表

1

给出了节点与它的负载描述。

(3)

把节点

ID

映射到真正的服务器实例确定节点后,

就需要知道如何到达实际的服务器。

们通过它的集群

ID

得到通信要使用的

CORBA IOR

XmlRpcURL

RMI

注册项或是

Socket

。表

1

给出了这种映射

1.2.2

实现集群的特性

(1)

多个服务器实例

如果多个服务器实例在运行,每个消息只分配一个主服务器(如果没有负载平

衡)。不同的服务器像客户一样互相

登录到对方,对不以它们为主节点的消息,它们的作用就是从节点。

(2)

服务器实例之间的连接

服务器之间的登录采用

"lazy"

模式。客户第一次请求不是以本地服务器为主节

点的消息时,服务器才登录到主节点,订阅该消息。以后,这类消息就缓存在

本地,随后的客户请求就可以在本地被处理。因为从节点向主节点订阅了该消

息,缓存会不断更新。可以调整消息的过期时间来清除缓存的消息。

(3)

对发布的消息进行路由

如果消息从数据源发布到从节点,

消息直接被路由到主节点

(也可以是从节点,

该再把消息转发到层为

0

的真正的主节点)。如果主节点目前不可用,该消息

进入队列等待,直至主节点登录。

(4)

查询主节点的接口

提供接口,使得能够定义不同的逻辑,来标识集群主节点的

id

。缺省实现用元

KEY

的属性

domain

进行映射。

(5)

负载平衡逻辑的接口

提供负载平衡逻辑的接口。通过接口可以添加新的负载平衡逻辑。缺省使用循

环法。

(6)

缺省的主节点

服务器节点是它直接相连的客户缺省的主节点。如果客户发布

/

订阅,没有为消

息说明域,消息就在本地服务器处理(就好像没有集群存在)。如果服务器配

置的元素

MASTER

的属性

acceptDefault

设置为

"false"

,服务器就搜索另一个

接收缺省消息的节点。

如果节点配置的元素

MASTER

的属性

acceptOtherDefault

设置为

"true"

,它就可以接收来自其他节点的缺省域的消息。

(7)

未知主服务器

如果节点收到消息但找不到主服务器,消息进入队列,等待主节点。如果稍后

主服务器出现,消息就被发送出去。

(8)

客户转交

如果一个节点停止工作,它能够通知它的客户并且把转交节点的地址传递给它

们。

美白针

美白针价格

http://www.shzhenai.com/Activity/201103/MeiBaiZhen/

(9) PtP

消息

为了允许全局传递,我们引入一个唯一命名方案,基于

URL

命名语法,可以寻

址任意节点上的任意客户。但是集群只用于发布

/

订阅消息,

PtP

消息仅使用集

群的节点作为跳来找到最后的目标。

(10)

相同域的多个主节点

如果一个域有多个节点处于主节点模式,有两种方式处理发布的消息:把消息

发布给所有的主服务器;

用负载平衡算法处理

get()

subscribe()

访问的消息,

缺省实现是循环算法。

(11)

节点之间的连接状态

服务器节点之间的连接状态分为

3

种状态:

1)

已登录:连接可用;

2)

轮询:有其他节点的地址,并且正在轮询这个节点;

3)

不允许:知道某个节点,但是不允许使用这个节点。

2

结束语

美白针

美白针价格

http://www.shzhenai.com/Activity/201103/MeiBaiZhen/

消息中间件是为异构的分布式环境下的应用程序提供可靠的数据通信服务的,

它本身也可以采用分布式的架构。因此,通过集群来管理消息中间件是必然的

发展趋势。实现集群技术,系统能够提供更为可靠、更为灵活的服务。集群不

可能单纯在程序中实现,它与配置管理密不可分,因此本文着重于对集群进行

描述。描述使用可扩展性强的

XML

语言,因为这样可以简化代码实现

.

消息中间件的集群技术,布布扣,bubuko.com

时间: 2024-10-17 13:12:12

消息中间件的集群技术的相关文章

理想化的 Redis 集群 - 技术翻译 - 开源中国社区

理想化的 Redis 集群 - 技术翻译 - 开源中国社区 zookeeper web界面查看工具node-zk-browser安装 | 日拱一卒

【整理学习Hadoop】Hadoop学习基础之一:服务器集群技术

        服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器.集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行. 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术.集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理

Redis集群技术及Codis实践

"高效运维最佳实践"是InfoQ在2015年推出的精品专栏,由触控科技运维总监萧田国撰写,InfoQ总编辑崔康策划. 前言 如开篇文章所言,高效运维包括管理的专业化和技术的专业化.前两篇我们主要在说些管理相关的内容,本篇说一下技术专业化.希望读者朋友们能适应这个转换,谢谢. 互联网早在几年前就已进入Web 2.0时代,对后台支撑能力的要求,提高了几十倍甚至几百倍.在这个演化过程中,缓存系统扮演了举足轻重的角色. 运维进化到今天,已经不是重复造轮子的时代.所以,我们在架构优化和自动化运维

交换机级联,堆叠,集群技术介绍

简单的局域网(LAN)通常由一台集线器(或交换机)和若干台微机组成.随着计算机数量的增加.网络规模的扩大,在越来越多的局域网环境中,交换机取代了集线器,多台交换机互连取代了单台交换机. 在多交换机的局域网环境中,交换机的级联.堆叠和集群是3种重要的技术.级联技术可以实现多台交换机之间的互连:堆叠技术可以将多台交换机组成一个单元,从而提高更大的端口密度和更高的性能:集群技术可以将相互连接的多台交换机作为一个逻辑设备进行管理,从而大大降低了网络管理成本,简化管理操作.堆叠(Stack)和级联(Upl

集群技术的出现和IA架构服务器的快速发展为社会的需求提供了新的选择

集群技术的出现和IA架构服务器的快速发展为社会的需求提供了新的选择.它价格低廉,易于使用和维护,而且采用集群技术可以构造超级计算机,其超强的处理能力可以取代价格昂贵的中大型机,为行业的高端应用开辟了新的方向. 集群技术是一种相对较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性.灵活性方面的相对较高的收益. 目前,在世界各地正在运行的超级计算机中,有许多都是采用集群技术来实现的. 集群是由一些互相连接在一起的计算机构成的一个并行或分布式系统.这些计算机一起工作并运行一系列共同

高可用集群技术理论基础知识

目录 1.引言 2.高可用架构框架 3.资源的约束与隔离 4.高可用模型 5.配置高可用架构的前提 1.引言 一言以蔽之,高可用集群技术是为了解决业务因服务器宕机而中断业务的一种技术,它能保障业务7*24*365不间断. 在linux开源的世界里,常见的开源解决方案有如下: keepalived(vrrp+script) heartbeat corosync+pacemaker 要想用好这些开源软件,不得不先来了解一下一个高可用集群中的一些基础知识. 2.高可用架构框架 高可用架构一般可分为以下

数据库集群技术漫谈

转自:http://www.51testing.com/html/69/n-867469-2.html 简介 当今世界是一个信息化的世界,我们的生活中无论是生活.工作.学习都离不开信息系统的支撑.而信息系统的背后用于保存和处理最终结果的地方就是数据库.因此数据库系统就变得尤为重要,这意味着如果数据库如果面临问题,则意味着整个应用系统也会面临挑战,从而带来严重的损失和后果. 如今“大数据”这个词已经变得非常流行,虽然这个概念如何落地不得而知.但可以确定的是,随着物联网.移动应用的兴起,数据量相比过

java集群技术(转)

序言 越来越多的关键应用运行在J2EE(Java 2, Enterprise Edition)中,这些诸如银行系统和账单处理系统需要高的可用性(High Availability, HA),同时像Google和Yahoo这种大系统需要大的伸缩性.高可用性和伸缩性在今天高速增长的互连接的世界的重要性已经证实了.eBay于 1999年6月停机22小时的事故,中断了约230万的拍卖,使eBay的股票下降了9.2个百分点. J2EE集群是用来提供高可用性和伸缩性服务,同时支持容错处理的一种流行的技术.但

高可用集群技术之heartbeat+NFS实现web服务高可用(文本方式配置接口--gui图形配置)

一.高可用集群基本概念   什么是高可用技术呢?在生产环境中我既要保证服务不间断的服务又要保证服务器稳定不down机,但是异常还是会发生,比如说:服务器硬件损坏...导致服务器down机,我该如何保证服务器down机后继续提供服务呢?这时我就应该请出高可用技术来帮忙了,当我们的服务器发生故障后不能继续时,高可用集群技术解决将业务及服务自动转移至其他主机服务器上继续服务,保证服务架构不间断运行. 高可用集群的架构层次: 后端主机层: 这一层主要是正在运行在物理主机上的服务. 2.Message l