| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java反射在项目中的应用,感悟分享 -> 正文阅读 |
|
[Java知识库]java反射在项目中的应用,感悟分享 |
基础知识RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,它是使用 RabbitMQ高性能的原因
AMQP协议什么是AMQP高级消息队列协议 AMQP(Advanced Message Queueing Protocol)定义:具有现代特征的二进制协议。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计 AMQP协议模型: Publisher 推送消息前先与Server建立连接,找到 整体架构图 基本概念Broker 消息队列服务进程,接收客户端的连接,实现AMQP实体服务。 Connection 连接,应用程序与 Producer 消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。 Consumer 消息消费者,即消费方客户端,接收MQ转发的消息。 Channel 网络信道,几乎所有的操作都在 Message 消息,服务器和应用程序之间传送的数据,由 Virtual Host 虚拟地址,用于进行逻辑隔离,最上层的消息路由。一个Virtual Host里面可以有若干个Exchange和Queue,同一个 Exchange 交换机,接收消息,根据路由键转发消息到绑定的队列。
扇形交换机是最基本的交换机类型,扇形交换机会把能接收到的消息全部发送给绑定在自己身上的队列。因为广播不需要思考,所以扇形交换机处理消息的速度也是所有的交换机类型里面最快的
直连交换机是一种带路由功能的交换机,一个队列会和一个交换机绑定,除此之外再绑定一个 这样当一个交换机绑定多个队列,就会被送到对应的队列去处理 适用场景:有优先级的任务,根据任务的优先级把消息发送到对应的队列,这样可以指派更多的资源去处理高优先级的队列
直连交换机的 所以 主题交换机的
当一个队列的绑定键为
首部交换机是忽略 将一个交换机声明成首部交换机,绑定一个队列的时候,定义一个 绑定交换机和队列的时候,Hash结构中要求携带一个键 相比直连交换机,首部交换机的优势是匹配的规则不被限定为字符串
Binding Exchange和Queue之间的虚拟连接,Exchange在与多个Message Queue发生Binding后会生成一张路由表,路由表中存储着 Routing Key 一个路由规则,虚拟机可用它来确定如何路由一个特定消息。 Queue 也称为 消息发布流程:
消息接收流程:
消息流转过程 生产者生产出Message并投递到 一个Exchange可以绑定多个 工作模式队列模式: 对于任务过重或任务较多情况使用工作队列可以提高任务处理的速度。 1、一条消息只会被一个消费者接收; 2、rabbitmq采用轮询的方式将消息是平均发送给消费者的; 3、消费者在处理完某条消息后,才会收到下一条消息。 发布订阅模式: 1、每个消费者监听自己的队列。 2、生产者将消息发给 对应交换机中的 路由模式: 1、每个消费者监听自己的队列,并且设置routingkey。 2、生产者将消息发给交换机,由交换机根据 对应交换机中的 通配符模式: 对应交换机中的 Header转发器模式: 对应交换机中的 远程过程调用模式: RPC即客户端远程调用服务端的方法,使用MQ可以实现RPC的异步调用,基于Direct交换机实现,流程如下:
最后光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性,因此仅以截图展示,需要的小伙伴可以点击这里即可免费获取! Java面试宝典2021版最常见Java面试题解析(2021最新版)2021企业Java面试题精选片转存中…(img-cVjRshaj-1625927073055)] 最常见Java面试题解析(2021最新版)[外链图片转存中…(img-jKtmaPG7-1625927073056)] [外链图片转存中…(img-s3BBNWyW-1625927073057)] 2021企业Java面试题精选[外链图片转存中…(img-9OfZx4t6-1625927073057)] |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 20:42:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |