RabbitMQ学习笔记(1)

RabbitMQ的特性
*.开源:
      开发语言是Erlang
*.平台和供应商无关性
      为几乎全部开发语言提供了客户端工具并能运行在所有主流计算机平台上
*.轻量级
      运行核心功能以及诸如管理界面的插件只需要不到40MB内存
*.面向大多数现代语言的客户端开发库    
*灵活控制消息通讯的平衡性  :性能与吞吐量平衡的灵活控制
*高延迟性环境插件
*第三方插件
*多层安全
RabbitMQ基于AMQP规范,该规范概括了RabbitMQ的主要架构和通信模式。
AMQP模型早逻辑上定义了三种抽象组件用于指定消息路由行为
*交换器:消息代理服务器用于把消息路由到队列的组件
*队列:用于存储消息的数据结构,位于硬盘或内存中
*绑定:一套规则,用于告诉交换消息应该被存储到那个队列

AMQP作为一种RPC传输机制
1.启动会话
  *由客户端发送请求到服务器(以协议头protocol header)
  *服务器通过Connectiong.Start回应协议头请求来启动
  *客户端测使用Connection.StartOK响应帧来响应RPC请求
  注意:要完成连接到RabbitMQ需要完成三个同步RPC请求组成的序列,这三个RPC请求分别对应启动、调整和打
  开连接
2.帧类型
  *协议头帧用于连接到rabbitMQ仅使用一次
  *方法帧携带发送给RabbitMQ或从RabbitMQ接收到的RPC请求或响应
  *内容头帧包含一条消息的大小和属性
  *消息体帧包含消息的内容
  *心跳帧在客户端与RabbitMQ之间进行传递,作为一种效验机制确保连接的两端都可用且在正常工作
发送消息时,使用方法帧、内容头帧和消息体帧项RabbitMQ发送消息。
方法帧:发送消息的第一个帧,携带命令和执行所需的参数
内容头帧:包含消息属性以及消息体大小。
消息体帧:如果消息体超过帧大小上限,则该消息体被拆分为多个消息体帧。 
在方法帧和内容头帧中保存的二进制打包数据,而消息体帧中的数据没有处理过,可以从纯文本到二进制图像
数据的任何内容 

方法帧结构:

内容头帧

消息体帧

声明交换器

在RabbitMMQ中用Exchange.Declaer命令创建交换器,穿件成功则发送Exchange.DeclaerOK,创建失败则发送Exchange.Close并发送创建失败的原因。

声明队列:Queue.Declaer创建队列,同样要开启一个信到,创建失败则关闭。

绑定队列到交换器:Queue.Bind每次只能指定一个队列

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值