小白程序员进阶系列之RabbitMQ-前言

什么是RabbitMQ

RabbitMQ是一个开源的AMQP(Advanced Message Queuing Protocol,高级消息队列协议)实现,是可复用的企业级消息系统。服务器端使用Erlang语言编写,支持几乎所有常见的开发平台如:Python、Ruby、.NET、Java、C、PHP、Go、Perl、Erlang、Node.js、object-c\swift、ruby等。

消息队列最基本的功能就是为了实现在不同系统或者组件间安全、可靠的存储和转发消息。而RabbitMQ是当前最流行的消息中间件之一,支持大部分主流的操作系统。

RabbitMQ应用场景

异步处理
场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种
串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个通知,而这种做法让客户端没有必要等待。

并行方式:将注册信息写入数据库后,发送邮件的同时,发送短信,以上三个任务完成后,返回给客户端,并行的方式能提高处理的时间。

引入消息队列后,把发送邮件,短信不是必须的业务逻辑异步处理,耗时可以忽略不计,有效提高响应速度。

应用解耦
场景说明:双11是购物狂节,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口。

这种做法有一个缺点,订单系统和库存系统高耦合。

使用消息队列

订单系统:用户下单后订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功。

库存系统:订阅下单的消息,获取下单消息,进行库操作。


流量削峰

场景:流量削峰一般在秒杀活动中应用广泛,秒杀活动一般会因为流量过大,导致应用挂掉,为了解决这个问题,一般在应用前端加入消息队列。
作用:可以缓解短时间的高流量压垮应用(应用程序按自己的最大处理能力获取订单)

本系列课程目标

  1、掌握RabbitMQ的使用方法,能把RabbitMQ应用到项目实战中去
  2、能使用消息中间件解决实际问题
  3、使用.net 开发RabbitMQ程序,使用在高并发应用场景。

本系列课程的主题

  RabbitMQ安装、配置-Windows

  ContOS7安装RabbitMQ

  RabbitMQ核心概念和常规使用方式

  dotnet消息生产端、消费端开发,耗时操作并发处理

  RabbitMQ延时队列实现

  RabbitMQ重试队列实现

  RabbitMQ集群

  HAProxy实现MQ负载均衡、故障转移

  RabbitMQ健康监测

-------------------------------------------------

 技术交流QQ群:588273396

 -------------------------------------------------

转载于:https://www.cnblogs.com/xiaobai888/p/RabbitMQ.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值