消息引擎RabbitMQ有多高深?来围观这篇扫盲贴

消息中间件在互联网应用中十分广泛,标准的用法是生产者(productor)生产消息发送到队列,消费者(consumer)从队列中取出并处理消息,生产者无需关心谁来消费,消费者也不用关心消息的来源,从而达到解耦的目的。

消息中间件在互联网应用中十分广泛,标准的用法是生产者(productor)生产消息发送到队列,消费者(consumer)从队列中取出并处理消息,生产者无需关心谁来消费,消费者也不用关心消息的来源,从而达到解耦的目的。

RabbitMQ是当前最流行的消息引擎之一,是实现了AMQP(高级消息队列协议)的消息中间件中的一种,服务器端用Erlang语言编写,主要用于系统间的双向解耦,在可靠性、灵活性、高可用等方面均有着出色的表现。

RabbitMQ就是在消息中间件的基础用法上,增加了交换机(Exchange),Exchange会根据一定的调度策略把productor发送的消息放到一个或多个队列当中,就是这样的一个中间层,让消息队列实现了系统之间的双向解耦。当productor产生大量的消息,consumer无法快速的消费这些消息时,就需要Exchange来处理和保存这些消息。RabbitMQ的组成部分如下图所示:

消息引擎RabbitMQ有多高深?来围观这篇扫盲贴

华为云RabbitMQ消息引擎源于开源优于开源

近日,华为云分布式消息服务正式发布了RabbitMQ消息引擎, RabbitMQ消息引擎专注于应用解耦、流量削峰、异步处理等应用场景,为用户提供消息生产消费、发布订阅、消息持久化、消息确认机制、事物消息等功能。

 

DMS RabbitMQ

自建开源RabbitMQ

安全性

支持VPC虚拟网络等公有云安全服务

自行管理设置安全配置,安全防护效果依赖于安全专员水平

运维

提供云审计、云监控等服务,方便运维

需额外的运维人员,自行研发对应的运维监控系统

稳定

集群模式下实现了1个节点冗余镜像,确保数据的可靠性

自行保障

成本

具备多种配置可选择:单机、集群;可按需或包周期进行购买;且公测期间完全免费;用户可按需选择具体配置。

成本较高

扩展性

具备专业的扩容方案

需自行设计并操作扩容方案

性能

后端使用华为高性能ECS主机,吞吐量高,性能强劲,集群稳定性也有很好保障

数据可靠性与性能难以兼顾

华为云全新推出的RabbitMQ引擎,完美兼容开源,对于已有的基于RabbitMQ的应用,无需代码上的修改,即可快速接入华为云RabbitMQ服务,轻松把应用搬上云端。对于未使用过RabbitMQ的用户,提供简单友好的控制台操作和详尽的入门操作指南,用户可通过样例程序,快速搭建出发布订阅、单发送单接收、单发送多接收、路由发送接收等功能。

RabbitMQ完成分布式系统异步通信

在大中型分布式系统中,RabbitMQ可以帮助各个子系统的数据及时同步到后台模块,并提供数据通道帮助触发其他的业务流程,如函数处理、消息通知等。华为云RabbitMQ的如下特点,可以有效帮助分布式系统实现异步通信:

  • 丰富消息类型

广播消息、延时消息、消息重投等消息特性,使应用可以灵活控制异步通信的时间。

  • 高并发

单队列最高性能至10万TPS,并且可以通过队列数平滑扩展能力,有效提升整个系统的并发能力。

  • 低时延

消息投递时延可至毫秒级,保证消息的及时性。

消息引擎RabbitMQ有多高深?来围观这篇扫盲贴

应用通过RabbitMQ解耦

在单体应用中,业务流程耦合会导致系统对用户的请求响应慢,可以将系统拆分为多个子系统,用RabbitMQ作为子系统间的异步通信通道进行系统解耦,从而有效提升整个系统的响应速度。华为云RabbitMQ服务可以做到:

  • 加快系统响应

系统通过分布式解耦和并行处理请求,加快系统对用户请求的响应速度。

  • 降低系统耦合

子系统间通过RabbitMQ进行通信,避免系统之间相互耦合和影响。

  • 数据缓存

消息队列提供亿级消息堆积能力,让应用从容应对流量洪峰。

消息引擎RabbitMQ有多高深?来围观这篇扫盲贴

流量削峰填谷 防止应用崩溃

在秒杀或者团抢活动中,经常会发生因为流量突然暴增,导致应用不能正常访问的现象。为了解决这样的问题,就需要在应用的前端加入消息队列。服务器在接收到用户的请求之后,先把请求放到消息队列中,秒杀的业务模块根据消息队列的请求信息,做后续的处理。如果遇到消息队列长度超出最大的限制,可以直接抛弃用户请求或者跳转到友好的提示页面,从而有效地控制活动的参与人数,提升用户体验,并且大幅缓解瞬时流量洪峰对应用的压力。

消息引擎RabbitMQ有多高深?来围观这篇扫盲贴

华为云RabbitMQ消息引擎,完全兼容开源,提供独占资源,保证队列高性能,为企业和互联网应用提供省心、省力的消息中间件,减少开发、运维的成本,避免了企业自建中间件时所面临的安全、运维等问题。目前RabbitMQ向用户免费开放,欢迎访问华为云官网免费使用:

分布式消息服务 DMS

https://www.huaweicloud.com/product/dms.html

来源:业界供稿

0赞

好文章,需要你的鼓励

2018

05/23

17:36

分享

点赞

邮件订阅
白皮书