我的工作台 | 注销
免费热线 免费热线 4008-830-830
页面内容是否对您有帮助?
0/200

请选择您想要咨询的产品

请选择

抱歉,您所使用的账号暂未绑定对应的产品!

请联系贵司企业管理员,为您的账号绑定对应的产品。若需购买产品, 请拨打 4008-830-830 免费咨询
确定
首页>资讯>最新文章>消息系统的演进:从MOM、ESB到下一代云原生的分布式消息系统
星空行业课 星空行业课

消息系统的演进:从MOM、ESB到下一代云原生的分布式消息系统

作者 wendao | 2022-12-23
1278 浏览

1、什么是企业消息系统?

企业消息系统(Enterprise Messaging System)是提供实现各种消息协议的软件,如AMQP、MSMQ等。这些协议支持在企业内部的分布式系统和应用程序之间发送和接收消息。企业消息系统是为了解决远程过程调用(RPC)的一些问题而设计的。在RPC架构中,当一个进程想要与远程服务交互时,它首先需要通过服务发现确定服务的位置,然后使用适当的参数远程调用所需的方法。应用程序进行远程调用时,必须等待该调用返回后才能继续处理。

RPC的同步特性使得基于这种架构的应用程序本身就会变慢。另外,远程服务可能会在一段时间内不可用,这就需要应用开发者使用防御性编程来识别服务是否可用,并做出相应的反应。

企业消息系统则通过引入中间服务,解耦了消息发送者和接收者。通过提供一个标准化和可靠的组件来完成解耦,该组件作为处理数据的持久缓冲区,消息的发送者和接收者不必同时在线。
企业消息系统有一些关键特性

异步通信:消息系统允许服务和应用程序以非阻塞的方式相互通信。

消息持久化:RPC的消息只存在于网络上,而发布到消息传递系统中的消息会被持久化,直到它们被成功投递。

消息确认:消息系统必须保留消息,直到所有的接收者都收到信息。因此需要一种机制,使消费者能够确认消息的成功投递。这样,消息系统就可以清除所有成功投递的消息。

消息消费模式

发布订阅模式——支持向一个特定的消息主题生产消息,多个订阅者可能对接收来自特定消息主题的消息感兴趣。

    消息队列模式——用于消息生产者和消息消费者之间点到点通信。消息生产者将消息发送到由某个名字标识的特定消费者。这个名字实际上对于消费服务中的一个 队列(Queue),在消息传递给消费者之前它被存储在这个队列中。
消息系统已经存在了几十年,并得到了广泛的应用。让我们回顾一下消息系统的演进。

2、面向消息的中间件

第一类消息系统通常被称为面向消息的中间件(Message Oriented Middleware,MOM),它的设计目的是在运行于不同网络、操作系统等的分布式系统之间提供进程间通信和应用集成。最著名的MOM实现之一是1993年发布的IBM WebSphere MQ。

最早的实现被设计为部署在一台机器上,这意味着系统的可扩展性受限于主机的物理硬件,这台单一的服务器负责处理所有的客户请求和存储所有的消息。这些单服务器MOM系统可以服务的并发生产者和消费者的数量受到网卡带宽的限制,存储容量受到机器上物理磁盘的限制。

通过为MOM系统中增加集群功能,可以解决可扩展性问题。这使得多个单服务实例可以分担消息的处理,并提供一些负载平衡。尽管MOM是集群部署,但实际上每个服务实例负责为所有主题的一个子集提供服务和消息存储。在出现主题"热点"的情况下,分配给该特定主题的实例仍然会成为瓶颈。

这种局限性要求用户必须注意的消息分布,调整主题的分别,使主题与底层物理硬件相匹配,确保负载在集群中均匀分布。更好的做法是,能够将一个主题分布在多台机器上,这正是分布式消息系统所做的事情。

3、企业服务总线

企业服务总线(Enterprise Service Bus, ESB)出现于本世纪初,当时XML是使用基于SOAP的SOA架构应用的首选消息格式。ESB的核心概念是 "消息总线",它是所有应用程序和服务之间的通信通道。这种集中式的架构与面向消息的中间件(MOM)所采用的点对点的集成方式形成了直接对比。

每个应用向 ESB "注册 "自己,并指定一套规则,用于识别它感兴趣的消息,而 ESB 将处理所有必要的逻辑,以便从总线上动态地路由符合这些规则的消息。同样,每个服务不再需要事先知道消息的预定目标,只需将消息发布到 "总线 "上,让它对消息进行路由。每个应用或服务通过ESB发送和接收所有消息,而不必指定它们想要发布和消费的特定主题名称。

ESB在 "流处理 "上迈出了第一步,强调在消息系统内部处理消息的能力。大多数ESB提供消息转换服务,通过XSLT或XQuery,处理发送和接收者之间的消息格式转换。这是对消息系统的一种全新的思考方式,在这之前,消息系统几乎只被用作一种传输通道。现在ESB都支持更先进的计算功能,包括业务流程编排、事件关联和模式匹配等复杂事件处理。

ESB在今天仍然非常流行,但它们是集中式系统,被设计成部署在单台主机上。ESB和MOM一样,同样存在着可扩展性的问题。

4、分布式消息系统

随着Hadoop的普及,分布式计算模式开始被广泛采用。分布式计算最大的一个优势就是,只需在系统中增加新的机器,就可以横向扩展系统。新的系统架构将计算和存储分离,并且分布在多台机器上,不再受单机物理硬件的限制。

消息系统已经向分布式计算模式过渡。当前最流行的 Kafka,以及最近崛起的 Pulsar都采用了分布式计算模式,以满足互联网、大型企业对可扩展性和性能的需求。

在分布式消息系统中,一个主题被分布在多台机器上,以便在消息层提供水平可扩展的存储。将数据分布存储还提供了一些优势,包括数据的冗余和高可用性,增加了消息的存储容量,增加了消息吞吐量,以及消除了系统内的单点故障。

分布式消息系统和集群式单节点系统在架构上的关键区别,是存储层的设计方式。在以前的单节点系统中,主题的消息数据都被存储在一台机器上,这将主题的大小限制在该机器上磁盘容量大小。在分布式消息系统中,数据分布在集群内的多台机器上。

分布式消息系统的另一个好处是,可以有多个broker为给定的主题提供消息服务,通过将负载分散在多台机器上,提高了消息的生产和消费吞吐量。

我们以新近崛起的Pulsar为例,它就是典型的分布式消息系统架构。Pulsar使用了存储和计算分离的云原生架构,数据从 Broker 搬离,存在共享存储内部。上层是无状态 Broker,复制消息分发和服务;下层是持久化的存储层 Bookie 集群。Pulsar存储是分片的,这种构架可以避免扩容时受限制,实现数据的独立扩展和快速恢复。Pulsar解决了Kafka在设计上的一些并不能很好地适应于云原生环境的缺陷,比如消息服务和消息存储的紧耦合、IO并不隔离、基于物理分区的存储模型等。Pulsar还内置了一个轻量级计算引擎,为用户提供了一个部署简单、运维方便的 FaaS(Function as a service)平台。

上述内容来自用户自行上传或互联网,如有版权问题,请联系qy_qin@kingdee.com 。

热门文章

人力资源HC计划是什么意思?

在人力资源管理部门会出现很多英文字母让人一头雾水不知所云,比如说HC、HR等等,那么它们是哪个英文单词的缩写呢?具体的含义又是什么呢?

金蝶KIS迷你版如何查看多栏式明细账

金蝶KIS迷你版查看多栏式明细账后首先增加费用类的会计科目,增加好科目点击“自动编排”,会自动把该科目下的所有明细科目编排好。

资产负债表中的“重分类”是什么?

所谓资产负债表中的“重分类”,指的是应付账款、其他应付款科目的借方余额调入预付账款 ,应收账款以及其他应收款科目的贷方余额调入预收账款 ,企业一般只调报表相应项目,不进行调账。所以这些项目就要进行重分类。

人力资源部门存在的意义是什么?

人力资源管理不是简单的管理人员的去与留那么简单,它关乎到企业能否高效、持续的长远发展。

SaaS管理软件到底该不该用?大型企业能用金蝶云·星瀚吗?

信息技术不断发展,企业管理软件层出不穷,为企业管理提供了切实有效的支持。但传统管理软件在如今这个高速发展的时代背景下,难以跟上企业管理需求的变化,由此,SaaS管理软件开始成为不少企业管理者看好的新工具。

相关文章
金蝶云·苍穹平台优势是全栈的云原生技术能力,可满足企业期盼值

近些年来,各个行业都迎来了数字化转型浪潮,随着企业对于云计算的理解和实践不断深入,基于云计算的分布式架构已经越来越多地成为企业应用构建的首选方案。

金蝶云·苍穹以领先的云原生技术,助力企业迈入“云时代”大门

现如今,云和云计算技术已经被企业广泛所接受,关于云、云计算、云原生技术都有非常多的话题。云原生技术是目前技术阶段,企业IT系统的最优模式的集合。在全面数字化转型的大潮下,云原生技术犹如推动器,助力传统企业迈入“云时代”的大门。

云原生技术能实现产业升级,成为企业“上云”后的重要创新方向

当今数字共生时代,在新基建背景下,云计算作为其中重要的信息基础设施,是新基建中的关键支撑点之一。而在云计算领域,云原生也正在成为实现新基建的重要抓手,业务应用软件云原生技术正成为企业“上云”后的重要创新方向。

欢迎垂询

请联系我们专业的销售顾问,
我们将推荐适合您需求的产品或解决方案

扫码获取一对一服务
或致电 4008-830-830
该页面是否满足您的需求?
感谢!
您的认可和好评,将激励我们更好地提升网站体验
您认为我们还存在哪些不足和需要改进之处?
请从以下选项中选择(可多选):
感谢!
您的反馈和建议,将激励我们更好的提升网站体验
售前服务
金蝶
客服logo

官方售前咨询热线

4008-830-830

与我们的售前专家

在线聊天

在线咨询

扫码对话徐少春

徐少春个人号
金小蝶

您好!
想了解金蝶云产品或解决方案吗? 请点击立即咨询,我将为您解答!