当前位置: 首页 > news >正文

异步消息传递技术 JMS AMQP MQTT

        广泛使用的三种异步消息传递技术: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.lryc.cn/news/105463.html

相关文章:

  • 利用Python实现汉译英的三种方法
  • 磁盘均衡器:HDFS Disk Balancer
  • 蔚小理新势力互联网造车在CAN FD硬件主框架及后装控制方案开发
  • 左叶子之和
  • Java版知识付费平台免费搭建 Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台qt
  • LeetCode343. 整数拆分
  • 单机,集群和分布式概念
  • 小目标检测(1)——大恒(DaHeng)相机操作与控制编程
  • 异步实现邮件发送
  • 【Redis】内存数据库Redis进阶(Redis分片集群)
  • 替代LT8711龙讯替代RTD2172 CS5265中文规格书4K60HZ转接线 设计Type-C转HDMI2.0高清投屏方案
  • HCIA-datacom数通题库和录播视频资料
  • 优思学院|质量工程师应具备什么能力?
  • 数据分析 VS 数据可视化:决战时刻
  • Vue3中无法为el-tree-select设置反选问题分析
  • Redis - 缓存持久化
  • Pandas进阶修炼120题-第三期(金融数据处理,51-80题)
  • 3、HAproxy高级配置
  • tcpdump网络抓包工具的使用
  • AMEYA360旗下品牌:日本SUSUMU推出RGV系列贴片电阻器新产品
  • git-版本控制器
  • 台式机/工控机通过网线共享笔记本电脑无线网络linux系统下 usb网卡的驱动安装
  • kotlin 编写一个简单的天气预报app(五)增加forcast接口并显示
  • vs调试引发了异常:读取访问权限冲突,argv是0x7
  • 【电影推荐系统】实时推荐
  • Delphi 开发不一样的窗体标题栏:TTitleBarPanel
  • Quartz中禁止并发机制源码级解析
  • 为什么从公有云迁移到私有云的越来越多?
  • 用shell实现MySQL分库分表操作
  • php 适配器模式