【进阶技术】一篇文章搞掂:RibbitMQ
一、简介
一开始,消息队列源自于一个激进的工程师的思想,他希望有一种通用软件“总线”能解决程序间繁重的信息通信工作
后来出现了很多消息队列产品,但是他们互不兼容,价格昂贵
后来出现了AMQP,高级消息队列协议,作为标准
RabbitMQ基于AMQP,被开发出来
RabbitMQ特点:
- 除了Qpid,RabbitMQ是唯一实现了AMQP标准的代理服务器
- 基于Erlang,使得RabbitMQ集群十分简单
- RabbitMQ比其他消息队列服务器更可靠,更能防止崩溃
- 容易安装使用
二、消息通信原理
1、消费者、生产者
生产者:创建消息,发送到代理服务器(RabbitMQ)
消息:包括载荷(payload)和标签(lable)
消费者:连接到代理服务器(RabbitMQ),订阅队列(queue)。
信道(channel):应用程序与Rabbit的连接,首先创建一条TCP连接,然后创建一条AMQP信道;信道是“真实的”TCP连接内的虚拟连接;每条信道有唯一ID,AMQP命令从信道发送出去;
这是为了节省TCP连接所需的资源。一个TCP连接可以创建无线个AMQP信道,当需要发送信息时,则创建一条信道进行通信

2、队列
AMQP消息路由有3个部分:交换器、队列、绑定

【进阶技术】一篇文章搞掂:RibbitMQ的更多相关文章
- 【进阶技术】一篇文章搞掂:Spring Cloud Stream
本文总结自官方文档http://cloud.spring.io/spring-cloud-static/spring-cloud-stream/2.1.0.RC3/single/spring-clou ...
- 【Java架构:进阶技术】——一篇文章搞掂:JVM调优
Sun官方定义的Java技术体系: Java程序设计语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 来自商业机构和开源社区的第三方Java类库 JDK(Java Dev ...
- 【进阶技术】一篇文章搞掂:OAuth2
一.第一步 1.什么是OAuth2,为什么应该了解 应用程序请求资源所有者进行认证,并接受tokens来访问这些资源应用程序不是以控制资源的“人”的角度去访问资源,而是用许可证举例,备用钥匙,车主主钥 ...
- 【进阶技术】一篇文章搞掂:Spring高级编程
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Spring5高级编程>一书进行总结和扩展,大家也可以自行研读此书. 十一.任务调度 任务调度主要由三部分组 ...
- 【进阶技术】一篇文章搞掂:Docker
注意!!注意系统内存,一开始我使用阿里云1核1G系统,各种问题,搞了几天,原来是内存不足 一.使用VM虚拟机,安装CentOS7.X系统,并安装和使用Docker 1.1.虚拟机安装CentOS7.X ...
- 【已转移】【Java架构:基础技术】一篇文章搞掂:Spring
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------ ...
- 【Java架构:基础技术】一篇文章搞掂:Spring Boot 官方文档解读
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文内容大部分是翻译和总结官方文档,可以到https://docs.spring.io/spring-boot/docs查看(此地 ...
- 【Java架构:基础技术】一篇文章搞掂:Spring Boot
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<Spring Boot 实战第4版>的总结,大家也可以去仔细研读该书 注意,书中使用的Spring Boot ...
- 【已转移】【Java架构:基础技术】一篇文章搞掂:Java 8
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展 ...
随机推荐
- vts测试流程
测试前提: 1.发货user版本 2.selinux:Enable 3.连接ADB,stay awake 4.烧录XXX申请的key 5.外网环境(ipv6) ATV9测试准备(正常准备环境+fast ...
- spring Cloud 之 Eureka、Feign、Hystrix、Zuul、Config、Bus
一.服务发现——Netflix Eureka Eureka包含两个组件: Eureka Server和Eureka Client 1.创建Eureka Server服务端 (1).引入依赖 父工程po ...
- linux下升级php5.4到php5.6
进入终端后查看php版本 php -v 输出可能如下: PHP 5.4.35 (cli) (built: Nov 14 2014 07:04:10) Copyright (c) 1997-2014 T ...
- PS把一张白色背景的图片设为透明
方法一: 1.双击图层缩略图上的小锁图标(注意,这里不要拖动小锁进行删除锁定),弹出“新建图层”,确定 2.右键左侧第四个功能菜单,选择魔棒工具 3.用魔棒工具在白色背景区域点击一下,选中白色区域背景 ...
- Vue2.0---将页面中表格数据导出excel
这不是教程,是随笔. 项目中将后台返回的数据v-for到表格中,然后需要将这个表格导出为EXCEL 只说怎么做. 一.需要安装三个依赖: npm install -S file-saver xlsx ...
- data plugin for vs2019
Reporting Service projects for VS 2019https://marketplace.visualstudio.com/items?itemName=ProBITools ...
- MSF——客户端渗透之VBScript感染
弱点扫描 根据信息收集的结果搜索漏洞利用模块 结合外部漏洞扫描系统对大IP地址段进行批量扫描 误报率.漏报率 VNC密码破解 客户端渗透 VBScript感染方式 利用 宏 感染word.exce ...
- 无法打开内核设备"\\.\Global\vmx86":系统找不到指定的文件. 是否在安装 VMwareWorksation 后重新引到 ? 问题解决
节前正常使用的工作环境, 过完春节后, 上班第一天就不正常工作了, 难不成机器也要放假休息, 虚拟机打不开了, 没办法办公可是不行的. 上网查原因, 解决问题. 上网看了很多关于此问题的解决办法, 很 ...
- levelDB SSTable-1
创建sstable文件 了解了sstable文件的存储格式,以及Data Block的组织,下面就可以分析如何创建sstable文件了.相关代码在table_builder.h/.cc以及block_ ...
- JAVA Error:The project was not built since its build path is incomplete. Cannot find the class file for java.util.Map$Entry.....
今天,学习Netty框架时遇到error:Description Resource Path Location Type:The project was not built since its bui ...