RabbitMQ 笔记1

一.什么是消息中间件

消息队列有两种模式:点对点(p2p,point -to -point)模式和发布订阅(PUB/Sub)模式。

 点对点模式是基于队列的,消息生产者发送消息到队列,消息消费者从队列中接收消息,队列的存在使得消息的异步转输成为可能。

发布订阅模式定义了如何向一个内容节点发布和订阅消息,这个内容节点称为主题(topic),主题可以认为是消息传递的中介,消息发布者将消息发布到某个主题,而消息订阅者从主题中订阅消息。订阅者与消息的发布者相互保持独立,不需要进行接触即可保证消息的传递,发布订阅模式在消息的一对多广播进采用。

像消息中间件有很多,比较主流的有RabbitMQ,Kafka,ActiveMQ,RockeMQ等。消息中间件以松散耦合的灵活方式集成应用程序的一种机制。它们提供了基于存储和转发的应用程序之间的异步数据发送,而应用程序彼此不直接通信,而是与作为中介的消息中间件通信。

二.作用

  1.解耦

    消息中间件在处理过程中间插入了一个隐含的基于数据的接口层,两边的处理过程都要实现这一接口,这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束即可。

  2.存储

    有些情况下,处理数据的过程会失败,消息中间件可以把数据进行持久化直到它们已经被完全处理,通过这一个方式规避了数据丢失风险。

  3.扩展性

    因为消息中间件解藕了应用的处理过程,所以提高消息入队和处理的效率是很容易的,只要另外增加处理过程即可,不需要改变代码,也不需要调节数据。

  4.削峰

    在访问量剧增的情况下,使用消息中间件能够使关键组件支撑突发访问压力,不会因为突发的超负载请求而完全崩溃。

  5. 可恢复性

    当一个处理消息的进程挂掉,加入消息中间件的消息仍然可以在系统恢复后进行处理。

  6 .可顺序保证

    在大多数使用场景下,数据处理的顺序很重要,大部份消息中间件支持一定程度上的顺序性

  7.缓冲

    消息中间件通过一个缓冲层来帮助任务最高效率的执行,写入消息中间件的处理会尽可能快速,该缓冲层有助于控制和优化数据流经过系统的速度。

  8异步通信

    很多时候应用不想也不需要立即处理消息,消息中间件提供了异步处理机制,允许应用把一些消息放入消息中间件中,但并不立即处理它,在之后需要的时候再慢慢处理。

  适用于排队算法、秒杀活动、消息分发、异步处理、数据同步、处理耗时任务、CQRS等应用场景。

三. 起源

  RabbitMQ是采用Erlang语言实现AMQP高级消息队列协议的消息中间件,最早起源于金融系统,用于分布式系统中存储转发消息。  

  具备以下特点:可靠性、灵活的路由、扩展性、高可用性、多种协议,多语言客户端、管理界面、插件机制。

四.安装RabbitMQ

    1.安装Erlang语言

      安装RabbitMQ的版本需要对照Erlang语言包版本,地址https://www.rabbitmq.com/which-erlang.html

      下载Erlang语言包地址:https://www.erlang-solutions.com/resources/download.html

    2.安装RabbitMQ

      下载包地址:https://www.rabbitmq.com/download.html

    3.如果是windows安装参考

      https://www.cnblogs.com/saryli/p/9729591.html

      安装后,可以使用cmd命令rabbitmqctl status来查看状态。通过http://localhost:15672 来访问管理界面。默认是guest账户访问,只能使用localhost来访问。可以使用rabbitmqctl  add_user 来添加用户。设置权限 rabbitmqctl set_permissions。

五. RabbitMQ运行

     rabbitmq-server  -detached启动RabbitMQ服务,detached参数是为了能够作为守护进程的方式在后台运行。

      默认端口号5672

六. 生产和消息

  使用官方客户端

    Install-Package RabbitMQ.Client

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值