MQ 学习日志(一) MQ 入门 及 基础知识

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: MQ 入门 及 基础知识

各大mq入门

JMS

javaEE中定义的"java消息服务(JMS)"定义了java中访问消息中间件的接口,JMS只是一套接口,并没有给予实现,各大厂商和开源组织都对JMS实现了不同的产品,这些产品包括Apache的ActiveMQ,阿里的RocketMQ,IBM的MQseries,Spring Source的RabbitMQ等等,都是遵循JMS规范

JMS规范,术语,常见接口

Provider(Message Provider)Producer:生产者(消息的发送方)

Consumer(Message Consumer):消费者(消息的接收方)

PTP:Point To Point:即点对点的消息模型(一对一发布)

Pub/Sub: Publish/Subscribe,即发布/订阅的消息模型(一对多发布)

Queue:队列

Topic:主题

ConnectionFactory:连接工厂,JMS用它创建连接

Connection:JMS Consumer到JMS Provider 的连接

连接代表了应用程序和消息服务器之间的通信链路,在获得了连接工厂以后,就可以创建一个与jms提供者的连接,根据不同的连接类型,连接允许用户创建会话,以及发送和接收队列和主题到目标

Destination:消息的目的地

目标是一个包装了消息目标标识符的【被管对象】,消息目标是指消息发布和接收的地点,或者是队列,或者是主题,JMS管理员创建这些对象,然后用户通过jndi发现他们,和连接工厂一样,管理员可以创建两种类型的目标,点对点模型queue,以及发布者/订阅者模型的Topic

Session:会话,内部维护一个发哦是那个或者接收消息的线程

表示一个单线程的上下文,用于发送和接收消息,由于会话是单线程的,所以消息是连续的,也就是说消息是按照发送的顺序一个一个接收的,会话的好处是它支持事务,如果用户选择了事务支持,会话上下文将保存一组消息,直到事务被提交才发送这些消息在提交事务之前,用户可以使用回滚操作取消这些消息,一个会话允许用户创建消息生产者来发送消息,创建消息,消费者来接受消息

message:消息

是在消费者和生产者之间传送的对象,也就是说从一个应用程序送到另一个应用程序,一个消息主要有三个部分,消息头(必须):包含用于试别和消息寻找路由的操作设置,一组消息属性(可选):包括额外的属性,支持其他提供者和用户的兼容,可以创建定制的字段和过滤器(消息选择器)一个消息体(可选):允许用户创建物种类型的消息(文本消息TextMessage, 映射消息MapMessage,字节消息ByteMessage,流消息StreamMessage,对象消息ObjectMessage)

activeMQ

安装

ActiveMQ是一个Java编写的程序,可以在官网中直接下载Zip压缩包,只要配置好JDK,解压即用

http://activemq.apache.org/components/classic/download

对应入门教程

https://blog.csdn.net/qq_55917018/article/details/122122218

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
2月前
|
消息中间件 存储 数据库
深入学习RocketMQ的底层存储设计原理
文章深入探讨了RocketMQ的底层存储设计原理,分析了其如何通过将数据和索引映射到内存、异步刷新磁盘以及消息内容的混合存储来实现高性能的读写操作,从而保证了RocketMQ作为一款低延迟消息队列的读写性能。
|
8天前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
2月前
|
JSON 中间件 Go
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
本文详细介绍了如何在Go项目中集成并配置Zap日志库。首先通过`go get -u go.uber.org/zap`命令安装Zap,接着展示了`Logger`与`Sugared Logger`两种日志记录器的基本用法。随后深入探讨了Zap的高级配置,包括如何将日志输出至文件、调整时间格式、记录调用者信息以及日志分割等。最后,文章演示了如何在gin框架中集成Zap,通过自定义中间件实现了日志记录和异常恢复功能。通过这些步骤,读者可以掌握Zap在实际项目中的应用与定制方法
go语言后端开发学习(四) —— 在go项目中使用Zap日志库
|
2月前
|
消息中间件 存储 Java
分享一下rocketmq入门小知识
分享一下rocketmq入门小知识
35 0
分享一下rocketmq入门小知识
|
2月前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
31 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
|
2月前
|
XML Java Maven
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
这篇文章是Spring5框架的入门到实战教程,介绍了Spring5的新功能——整合日志框架Log4j2,包括Spring5对日志框架的通用封装、如何在项目中引入Log4j2、编写Log4j2的XML配置文件,并通过测试类展示了如何使用Log4j2进行日志记录。
Spring5入门到实战------16、Spring5新功能 --整合日志框架(Log4j2)
|
2月前
|
Java 数据库连接 数据库
后端框架的学习----mybatis框架(6、日志)
这篇文章介绍了如何在MyBatis框架中使用日志功能,包括配置MyBatis的日志实现、使用log4j作为日志工具,以及如何通过配置文件控制日志级别和输出格式。
|
2月前
|
网络协议 物联网 测试技术
App Inventor 2 MQTT拓展入门(保姆级教程)
本文演示的是App和一个测试客户端进行消息交互的案例,实际应用中,我们的测试客户端可以看着是任意的、支持MQTT协议的硬件,通过订阅及发布消息,联网硬件与我们的App进行双向数据通信,以实现万物互联的智能控制效果。
141 2
|
3月前
|
消息中间件
云消息队列RabbitMQ版入门训练营 打卡领好礼
云消息队列RabbitMQ版入门训练营 打卡领好礼
42 3
|
2月前
|
消息中间件 Java 调度
"解锁RabbitMQ云版:揭秘电商巨头、日志大师、任务狂人的秘密武器,你的系统升级就差这一步!"
【8月更文挑战第14天】在分布式与微服务架构中,RabbitMQ云版本作为消息队列服务,助力系统间解耦与异步通信。通过三个场景展示其实用性:1) 订单处理系统中,利用RabbitMQ实现跨服务流程的解耦;2) 日志收集与分析,异步发送日志至中央系统,保障业务流畅;3) 任务调度,处理耗时任务避免阻塞主线程。这些应用充分展现了RabbitMQ云版本的强大功能和灵活性。
30 0
下一篇
无影云桌面