本文介绍: channel: 如果每次访问消息队列都要建立一个TCP连接,那么当消息很多的时候,就会建立很多TCP连接,这时建立TCP连接的开销是非常大的,效率也是很低的.channel是在connection内部建立的逻辑连接,而且channel之间是完全隔离的.交换机:是消息队列中一个部件,可以接收来自生产者的消息,也可以将消息推送到消息队列中,交换机必须确切的知道要如何处理接收到的消息,是将消息推送到特定的队列,还是将消息推送到所有队列中,获取将消息丢弃.
消息队列(MQ)
本质上就是一个队列,一个先进先出的队列,队列中存放的内容是message(消息),是一种跨进程的通信机制,用于上下游传递消息,
为什么使用MQ:
削峰填谷:
MQ可以很好的做一个缓冲机制,例如在一个系统中有A和B两个应用,A是接收用户的请求的,然后A调用B进行处理.
这时有可能A收到的请求会达到一个峰值,由于A和B是直接调用的关系,所以B也是达到一个峰值,如果A 1s收到了3w次请求,那么B也是1s 收到3w次请求,这是对B的压力是非常大的,有可能会导致B直接宕机.
这时就可以使用消息队列来达到削峰填谷的效果.
生产者消费者模型
消息队列的工作原理
安装RabbitMQ
安装erlang
安装erlang 依赖
安装 socat 依赖
安装rabbitMQ
启动服务
查看服务状态
开机自启动
停止服务
重启服务
安装 Web 端的客户端软件
添加一个远程登录的用户
创建账号和密码
设置用户角色
为用户添加资源权限,添加配置、写、读权限
修改密码
删除用户
查看用户清单
RabbitMQ的入门案例
引入依赖
创建生产者
创建消费者
WorkQueues(工作队列)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。