Rabbitmq概况及结构简述

1.概述

在某种业务场景,如商品秒杀时,会出现瞬间高并发,读写高并发。其中读的高并发不是瞬时的,它持续存在,写的高并发是瞬时的。读写同时存在,就会出现冲突,高并发瞬时的超过系统处理上限。这种情况就需要引入消息队列来解决。

2.消息队列

2.1 队列:queue可以实现让其中的内容执行排队处理机制

2.2 消息:在队列中存放的数据

消息队列主要处理的是端到端的通信(一端客户端,一端服务端,终端客户端)

2.3 背景

早期的消息队列,就是用来解决通信强耦合的。后来随着消息队列的使用,还可以处理高并发的缓存-----消峰

消息队列的作用:

  • 通信解耦
  • 消峰(秒杀的需求处理逻辑)

3. Rabbitmq

目前最受欢迎的开源消息代理中间件之一,企业级别的消息代理软件.类似产品rocketMQ,kafka(收集流缓存).

企业级别,常见的一种开源消息中间件.实现了sun公司定义的AMQP高级消息队列协议.

AMQP: advanced message queue protocal. 一套接口,实现接口的消息队列可以做到性能较高

3.1结构

客户端:能连接上rabbitmq的所有终端(代码语言.软件程序),都叫做rabbitmq的客户端. 

  • 生产者:消息发送端 
  • 消费者:接收消息端 
  • 无角色:唯一功能定义rabbitmq组件 

服务端:rabbitmq启动的消息代理服务器

结构: 

  • 连接组件 
  • 交换机组件 
  • 队列组件 

粗粒度连接结构

细粒度核心组件

 连接:客户端可以获取的连接通道,通过连接通道才可以和服务端进行消息的逻辑处理的沟通,发送消息,监听消费,声明组件 

  • 长连接:基于TCP/ip封装的,创建和销毁都占用大量资源,不易频繁创建销毁. 
  • 短连接:基于长连接创建的短连接,可以频繁创建销毁,速度很快,适合用来通信管理. 

交换机:

  • exchange,在客户端使用rabbitmq时很有可能会通过一次消息传递并发发送到多个后端队列中,对于客户端并发能力就有稳定的高性能的要求.如果这种并发发送消息交给客户端,由于可能的语言不同,性能不同,并发不同,导致rabbitmq技术使用不稳定.引入交换机,只允许生产端发送消息时交给交换机.由交换机来处理后续发送队列并发逻辑.exchange是有erlang编写的.

队列组件:queue

真正存储消息对象的容器.一个rabbitmq中可以有多个队列,但是每个队列必须绑定一个交换机使用

4.运行rabbitmq登陆web控制台

4.1启动rabbitmq

登陆到云注机运行启动命令

[root@10-9-118-11 ~]# service rabbitmq-server start

4.2登陆控制台

使用rabbitmq启动的服务器ip地址,使用15672端口号,使用 guest/guest用户名密码登陆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值