初识rabbitmq

1. 为什么互联网大厂要用rabbitmq
rabbitmq是什么
rabbitmq是一个开源的消息代理和队列服务器,用平台协议在不同环境的应用之间共享数据,rabbitmq是用erlang语言并遵循amqp协议来编写的。
特点
可支持夸平台夸语音调用。
为什么大厂用它
1.它是开源的
2.它的性能优秀
3.稳定性有保障
4.它提供了可靠性消息投递模式(confirm)和返回模式
5.和spring mqp整合很完美,api很丰富
6.它的集群模型很完美,表达式配置,ha模型。
7.保证数据不丢失的前提下提供了高可用性和可靠性
2. rabbitmq的高性能之道是如何做到的
它使用的是erlang语言开发的,erlang语言最初用于交换机领域开发,在数据交换和数据同步有很高的性能。erlang有着和原生socket一样好的延时效果。

3. 什么是amqp高级协议
amqp定义:
是一个具有现在特征的二进制协议,是一个提供统一消息服务应用层标准的高级消息协议,是应用层协议的一个开发标准,为消息中间件提供协议。
amqp 协议模型
在这里插入图片描述

4. amqp协议的核心概念
server:接收客户端连接,提供amqp的服务
connection: 连接,与具体的server进行网络连接
channel: 网络信道,几乎所有的操作都是在 channel 里面完成的,channel是消息读写的通道,客户端可以建立多个channel,每个channel代表一个会话,其功能相当于hibernate 中的session
message: 服务器和应用之间传递的数据,在rabbitmq中message分为两个部分,Properties 和body,properties:代表的是对消息的修饰,如:设置消息的优先级,以及我们常说的延时特性,body是消息真正的数据。
virtual host : 虚拟地址,用于进行逻辑隔离,最上层的消息路由,每个virtual host 可以存放若干个exchange和queue ,但同一个virtual host 不能存放名字相同的exchange和queue。其作用就是划分服务层次。
exchange: 交换机嘛,接受消息,再将消息绑定到queue上。
binding: 就是exchange和queue之间建立虚拟连接,binding可以包含router key
router key :一个路由规则,虚拟机可以用它来确定如何路由一个特定的规则。
queue:是一个消息队列,用于存放消息的地方

5. rabbitmq整体架构
如图在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值