如何优雅的使用RabbitMQ

Posted 开发Web那点事

tags:

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

RabbitMQ无疑是目前最流行的消息队列之一,对各种语言环境的支持也很丰富,作为一个.NET developer有必要学习和了解这一工具。消息队列的使用场景大概有3种:

1、系统集成,分布式系统的设计。各种子系统通过消息来对接,这种解决方案也逐步发展成一种架构风格,即“通过消息传递的架构”。

2、当系统中的同步处理方式严重影响了吞吐量,比如日志记录。假如需要记录系统中所有的用户行为日志,如果通过同步的方式记录日志势必会影响系统的响应速度,当我们将日志消息发送到消息队列,记录日志的子系统就会通过异步的方式去消费日志消息。

3、系统的高可用性,比如电商的秒杀场景。当某一时刻应用服务器或数据库服务器收到大量请求,将会出现系统宕机。如果能够将请求转发到消息队列,再由服务器去消费这些消息将会使得请求变得平稳,提高系统的可用性。

一、开始使用RabbitMQ

RabbitMQ官网提供了详细的,另外官网还提供了RabbitMQ在六种场景的。其中教程1、3、6将覆盖99%的使用场景,所以正常来说只需要搞清楚这3个教程即可快速上手。

二、简单分析

我们以官方提供的教程1做个简单梳理:该教程展示了Producer如何向一个消息队列(message queue)发送一个消息(message),消息消费者(Consumer)收到该消息后消费该消息。

1、producer端:

var  factory = new  ConnectionFactory() { HostName = "localhost"  };

以上是关于如何优雅的使用RabbitMQ的主要内容,如果未能解决你的问题,请参考以下文章

如何优雅的使用RabbitMQ

Python之如何优雅的重试

如何在片段着色器中平铺部分纹理

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

如何有条件地将 C 代码片段编译到我的 Perl 模块?

优雅地停止 ecs 容器