叮咚!你有一份RabbitMQ 优雅使用指南待查看

Posted 华为云产品与解决方案

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了叮咚!你有一份RabbitMQ 优雅使用指南待查看相关的知识,希望对你有一定的参考价值。

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

RabbitMQ

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


RabbitMQ在消息中间件的基础用法上,增加了交换机(Exchange),RabbitMQ通过Exchange将消息路由至消息队列。队列通过路由键值与Exchange进行绑定,当Producer发送消息时,会指定Exchange与路由键值,Exchange根据路由键值进行匹配,匹配上则将消息路由至一个或多个绑定的队列中,未匹配上的消息将会被丢弃。


RabbitMQ的组成部分如下图所示:



MQ用于应用解耦、流量削峰、异步处理等应用场景,为用户提供消息生产消费、发布订阅、消息持久化、消息确认机制、事物消息等功能。那么哪些情况下适合选用RabbitMQ呢?RabbitMQ的优势在于消息功能丰富及多协议支持,如支持Push/Pull的消费模式、支持优先级队列、支持延迟队列等;在消息多协议上,除了AMQP外,还支持MQTT、STOMP等协议。所以,对于消息处理要求功能灵活的应用来说,RabbitMQ是非常适合的选择。


为什么选择华为云RabbitMQ


近日,华为云分布式消息服务DMS在已经支持Kafka的基础上,正式发布了RabbitMQ消息引擎,基于最新的RabbitMQ 3.7.X版本,提供全托管式的云上RabbitMQ服务。


叮咚!你有一份RabbitMQ 优雅使用指南待查看


RabbitMQ消息引擎专注于应用解耦、流量削峰、异步处理等应用场景,为用户提供消息生产消费、发布订阅、消息持久化、消息确认机制、事物消息等功能。在单体应用中,业务流程耦合会导致系统对用户的请求响应慢,可以将系统拆分为多个子系统,用RabbitMQ作为子系统间的异步通信通道进行系统解耦,从而有效提升整个系统的响应速度。 


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


华为云RabbitMQ具有如下特点,让应用上云更简单,运行更高效:


•丰富消息类型

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

•高并发

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

•低时延

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


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


目前RabbitMQ向用户免费开放,识别下方二维码即可免费使用:

叮咚!你有一份RabbitMQ 优雅使用指南待查看


叮咚!你有一份RabbitMQ 优雅使用指南待查看


点击阅读原文,了解分布式消息服务 DMS

以上是关于叮咚!你有一份RabbitMQ 优雅使用指南待查看的主要内容,如果未能解决你的问题,请参考以下文章

叮咚~ 你有一份令人心动的offer待查收cv君独家内推

叮咚~ 你有一份令人心动的offer待查收cv君独家内推

云图说丨叮咚,您有一份短信通关攻略待查收

资源 | 你有一份jQuery和Ajax大礼包待领取!

新书|你有一份编程开发类书单待查收

你有一份自然语言处理书单待查收