异步消息传递技术 JMS AMQP MQTT

news2024/9/17 8:58:30

        广泛使用的三种异步消息传递技术:JMS AMQP MQTT

JMS AMQP MQTT

        JMS(Java Message Service):一个类似JDBC的规范,提供了与消息服务相关的API接口

        JMS消息模型:
               P2P 点对点模型:消息发到一个队列,队列保存的消息只能被一个消费者消费或超时;
               publish-subscribe发布订阅模型:消息可被多个消费者消费,生产者和消费者完全独立,不需感知双方存在
        JMS消息种类:

TextMessage MapMessage BytesMessage StreanMessage ObjectMessage Message(只有消息头和属性)

        JMS实现:ActiveMQ、Redis、HornetMQ、RabbitMQ、RocketMQ(未完全遵守JMS规范)

注:JMS只是一个规范,具体使用依靠具体消息服务商开发的中间件。就像GET/POST传输数据也只是一个约定的规范而已。

考虑了跨平台性和兼容多语言能力:AMQP出现


        AMQP(advanced message queuing protocol):一种高级消息队列协议,也是消息代理规范,规范网络交换的数据格式,兼容JMS
        优点:具有跨平台性,服务器供应商,生产者,消费者可以使用不同的语言来实现
        AMQP消息模型:

direct exchange / fanout exchange / topic exchange / headers exchange / system exchange

        AMQP消息种类:byte[]
        AMQP实现:RabbitMQ、StormMQ、RocketMQ

        注:消息种类,到AMQP都被统一为byte[]字节数组的格式了,因此无论是什么平台,都能用字节的方式,达到跨平台的效果。有种说法是:AMQP规范的是消息传递的格式(协议),JMS规范的是消息开发的API(规范)


        MQTT(Message Queueing Telemetry Transport)消息队列遥测传输:专为小设备设计,是物联网(IOT)生态系 统中主要成分之一,为物联网业务场景的设计逻辑。

常用消息队列服务

ActiveMQ 、RabbitMQ 、RocketMQ 、Kafka 。

    

下载地址:ActiveMQhttps://activemq.apache.org/components/classic/download/

activemq.bat启动,

默认服务端口:61616,管理后台端口:8161

RabbitMQ下载地址:Installing on Windows — RabbitMQhttps://rabbitmq.com/install-windows.html

 默认:服务端口:5672,管理后台端口:15672

# 启动服务      
rabbitmq-service.bat start
# 关闭服务      
rabbitmq-service.bat stop 
# 查看服务状态  
rabbitmqctl status

RocketMQ下载地址:

RocketMQ · 官方网站 | RocketMQ官方网站https://rocketmq.apache.org/

默认服务端口:9876

环境变量配置:ROCKETMQ_HOME、PATH、NAMESRV_ADDR

# 启动命名服务器
mqnamesrv
# 启动broker
mqbroker

Kafka下载地址:Apache KafkaApache Kafka: A Distributed Streaming Platform.https://kafka.apache.org/downloads

启动kafka

kafka-server-start.bat

默认端口:9092

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/825266.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BES 平台 SDK之按键的配置

本文章是基于BES2700 芯片,其他BESxxx 芯片可做参考,如有不当之处,欢迎评论区留言指出。仅供参考学习用! BES 平台 SDK之LED的配置_谢文浩的博客-CSDN博客 关于系统LED简介可参考上一篇文章。链接如上所示! 一&…

【ONE·Linux || 基础IO(一)】

总言 文件输入与输出相关介绍:语言层面/系统层面文件调用接口举例、文件描述符、重定向说明、缓冲区理解。 文章目录 总言1、文件输入与输出1.1、预备知识1.2、语言层面:回归C语言中文件相关接口1.2.1、打开文件和关闭文件:对当前路径的理解…

企业服务器中了Locked勒索病毒后怎么办,如何解决问题并提高防范意识

科学技术的发展给我们的生活带来了极大便利,但也为企业带来了安全威胁。近期,我们收到很多企业的求助,企业的服务器中了locked后缀勒索病毒,计算机上的所有文件都被加密,无法被正常调取,严重影响了企业的正…

使用预训练 ViT 模型的图像字幕中的视觉变换器 (ViT)-附源码

介绍 使用预训练 ViT 模型的图像字幕可以被视为图像下方的文本或书面描述,旨在提供图像细节的描述。它将图像翻译成文本描述的任务。它是通过连接视觉(图像)和语言(文本)来完成的。在本文中,我们使用图像中的 Vision Transformers (ViT) 作为使用 PyTorch 后端的主要技术…

2023牛客暑假多校-5-I-The Yakumo Family

解法:考虑枚举这个区间,设这个区间异或和为w。对于左端点 ,预处理出其左侧的所有子区间异或和的和 ,表示区间上所有子区间异或和。对右侧也做同样操作预处理出,表示区间上所有子区间异或和。那么最后答案就是。最重要的就是如何求…

Linux下 Docker容器引擎基础(2)

目录 创建私有仓库 将修改过的nginx镜像做标记封装,准备上传到私有仓库 将镜像上传到私有仓库 从私有仓库中下载镜像到本地 CPU使用率 CPU共享比例 CPU周期限制 CPU 配额控制参数的混合案例 内存限制 Block IO 的限制 限制bps 和iops 创建私有仓库 仓库&a…

【数据结构|二叉树遍历】递归与非递归实现前序遍历、中序遍历、后序遍历

递归与非递归实现二叉树的前序遍历、中序遍历、后序遍历。 二叉树图 定义 前序遍历(Preorder Traversal): 前序遍历的顺序是先访问根节点,然后按照先左后右的顺序访问子节点。对于上面的二叉树,前序遍历的结果是&…

IO流中「线程」模型总结

一、基础简介 在IO流的网络模型中,以常见的「客户端-服务端」交互场景为例; 客户端与服务端进行通信「交互」,可能是同步或者异步,服务端进行「流」处理时,可能是阻塞或者非阻塞模式,当然也有自定义的业务…

12.其他事件

12.1 页面加载事件 加载外部资源(如图片、外联CSS和JavaScript等)加载完毕时触发的事件 1.事件名:load ●监听页面所有资源加载完毕: ➢给window添加load事件 //页面加载事件 window.addEventListener( load, function () { //…

java后端富文本转word,再传递到浏览器下载。

思路参考,以及所有的工具类都使用了》牧羊人大佬的代码《 有帮助的话不用给到我点赞,给大佬点赞即可 这是前端代码,必须使用get。 post后端返回的流浏览器接收不到(具体原因不详)。get无法传递requestBody,…

Python实现GA遗传算法优化BP神经网络分类模型(BP神经网络分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 遗传算法(Genetic Algorithm,GA)最早是由美国的 John holland于20世…

STM32F4_内存管理(Malloc、Free)

目录 前言 1. 内存管理介绍 1.1 分块式内存管理 2. 实验程序 2.1 main.c 2.2 Malloc.c 2.3 Malloc.h 前言 相信大家在学习C语言的过程中,都会学习到 malloc 动态开辟函数和 free 释放内存函数;这两个函数带给我们的优越性是: 我们在使…

[深度学习] GPU处理能力(TFLOPS/TOPS)

计算能力换算 理论峰值 = GPU芯片数量GPU Boost主频核心数量*单个时钟周期内能处理的浮点计算次数 只不过在GPU里单精度和双精度的浮点计算能力需要分开计算,以最新的Tesla P100为例: 双精度理论峰值 = FP64 Cores *…

Scratch Blocks自定义组件之「下拉图标」

一、背景 由于自带的下拉图标是给水平布局的block使用,放在垂直布局下显得别扭,而且下拉选择后回修改image字段的图片,这让我很不爽,所以在原来的基础上稍作修改,效果如下: 二、使用说明 (1&am…

转机来了,国内全新芯片技术取得突破,关键驱动引擎开始提速

芯片技术转机来了 我们都知道,芯片技术是现代信息技术的基石,它驱动着计算机、智能手机、物联网设备等各类电子设备的运行。 科技的不断进步,芯片技术也在不断演进。 从传统的集成电路到现代的微处理器和系统芯片,其计算能力和能…

Total Variation loss

Total Variation loss 适合任务 图像复原、去噪等 处理的问题 图像上的一点点噪声可能就会对复原的结果产生非常大的影响,很多复原算法都会放大噪声。因此需要在最优化问题的模型中添加一些正则项来保持图像的光滑性,图片中相邻像素值的差异可以通过…

Pytorch深度学习框架入门

1.pytorch加载数据 唤醒指定的python运行环境的命令: conda activate 环境的名称 from torch.utils.data import Dataset #Dataset数据处理的包 from PIL import Image import os#定义数据处理的类 class MyData(Dataset):#数据地址处理方法def __init__(self,ro…

从《信息技术服务数据中心业务连续性等级评价准则》看数据备份

​​​​​​​ 5月23日,国家标准化管理委员会与国家市场监督管理总局发布了《信息技术服务数据中心业务连续性等级评价准则》,旨在适应各行各业逐步深入的数字化转型,提升全社会对数据中心服务中断风险的重视。 信息技术服务数据中心业务连续…

KL15 是什么?ACC,crank,on等

KL含义 KL is the abbreviation for klemme which is the German term for connector / connection.KL是“ klemme”的缩写,这是德语中连接器或连接的术语。 KL30 ,通常表示电瓶的正极。positive KL31,通常表示电瓶的负极。negative KL15, 通…

【NLP概念源和流】 04-过度到RNN(第 4/20 部分)

接上文 【NLP概念源和流】 03-基于计数的嵌入,GloVe(第 3/20 部分) 一、说明 词嵌入使许多NLP任务有了显著的改进。它对单词原理图的理解以及将不同长度的文本表示为固定向量的能力使其在许多复杂的NLP任务中非常受欢迎。大多数机器学习算法可以直接应用于分类和回归任务的…