叮咚!你有一份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具有如下特点,让应用上云更简单,运行更高效:
•丰富消息类型
广播消息、延时消息、消息重投等消息特性,使应用可以灵活控制异步通信的时间。
•高并发
单队列最高性能至10万TPS,并且可以通过队列数平滑扩展能力,有效提升整个系统的并发能力。
•低时延
消息投递时延可至毫秒级,保证消息的及时性。
华为云RabbitMQ消息引擎,完全兼容开源,提供独占资源,保证队列高性能,为企业和互联网应用提供省心、省力的消息中间件,减少开发、运维的成本,避免了企业自建中间件时所面临的安全、运维等问题。
目前RabbitMQ向用户免费开放,识别下方二维码即可免费使用:
点击阅读原文,了解分布式消息服务 DMS!
以上是关于叮咚!你有一份RabbitMQ 优雅使用指南待查看的主要内容,如果未能解决你的问题,请参考以下文章