首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏决胜机器学习

    消息队列(一) MySQL实现消息队列

    消息队列(一)MySQL实现消息队列 (原创内容,转载请注明来源,谢谢) 一、概述 消息队列(MessageQueue,通常简称MQ)是一种进程间通信或同一进程的不同线程间的通信方式,是分布式应用间交换信息的一种技术 通过消息队列,应用程序可独立地执行,它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息消息队列有多种实现方式,可以用关系型数据库(如Mysql)、Nosql(如redis)、现有框架(如rabbitMQ)等。 Mysql处理消息队列的场景:主要是在数据处理量大、耗时久、处理流程繁杂、处理内容多、需要持久化(入库)、业务处理要求相对不实时的场景,如发邮件、发短信、订单后续处理、操作数据记录日志等。 因此,此场景就非常适合于用Mysql解决此消息队列

    17.3K41发布于 2018-03-07
  • 来自专栏云服务器购买

    消息队列-腾讯云消息队列 CKafka

    腾讯云消息队列 CKafka,分布式、高吞吐量、高可扩展性的消息服务,100%兼容开源 Apache Kafka 0.9 0.10 腾讯云消息队列 CKafka点击查看详情 消息队列 CKafka 简介 消息队列 CKafka(Cloud Kafka)是一个分布式、高吞吐量、高可扩展性的消息系统,100%兼容开源 Kafka API(0.9、0.10版本)。 腾讯云消息队列 CKafka 的特性 兼容开源 100% 兼容 Apache Kafka 0.9 0.10版本,迁移上云0成本。 高可靠 消息队列 CKafka 集群性能强劲,生产性超越开源方案;此外,消息队列 CKafka 分布式的部署,集群稳定性也有很好的保障。 应用场景 日志分析系统 消息队列 CKafka 结合大数据套件 EMR,构建完整的日志分析系统。

    8.5K60发布于 2019-08-06
  • 来自专栏java思维导图

    消息队列探秘 – RabbitMQ 消息队列介绍

    3)如何让Priority高的接收者先接到数据? 4)如何做到load balance?有效均衡接收者的负载? 5)如何有效的将数据发送到相关的接收者? 3. 系统架构 ? RabbitMQ Server: 也叫broker server,它不是运送食物的卡车,而是一种传输服务。 Broker: 简单来说就是消息队列服务器实体。 Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue: 消息队列载体,每个消息都会被投入到一个或多个队列。 producer: 消息生产者,就是投递消息的程序。 consumer: 消息消费者,就是接受消息的程序。 Queue Queue(队列)是RabbitMQ的内部对象,用于存储消息,用下图表示。 queue ?

    5.4K20发布于 2019-11-05
  • 来自专栏互联网技术栈

    消息队列探秘-RabbitMQ消息队列介绍

    3)如何让Priority高的接收者先接到数据? 4)如何做到load balance?有效均衡接收者的负载? 5)如何有效的将数据发送到相关的接收者? 3. 系统架构 ? image.png RabbitMQ Server: 也叫broker server,它不是运送食物的卡车,而是一种传输服务。 ---- Broker: 简单来说就是消息队列服务器实体。 Exchange: 消息交换机,它指定消息按什么规则,路由到哪个队列。 Queue: 消息队列载体,每个消息都会被投入到一个或多个队列。 producer: 消息生产者,就是投递消息的程序。 consumer: 消息消费者,就是接受消息的程序。 Queue Queue(队列)是RabbitMQ的内部对象,用于存储消息,用下图表示。 queue ?

    4.9K30发布于 2018-12-12
  • 消息队列

    消息队列分为用户创建队列和系统队列,用户队列分为: 1)“公共队列”在整个可传送消息的“消息队列”网络中复制并传输,并且有可能由网络连接的所有站点访问。 2)“专用队列”不在整个网络中发布。 专用队列只能由知道队列的完整路径名或标签的应用程序访问。 3)“管理队列”包含确认在给定“消息队列”网络中发送的消息回执的消息。制定希望MessageQueue组件使用的管理队列。 系统队列分为: 1)“日记队列”可选的存储发送消息的副本和从队列中溢出的消息副本。 2)“死信队列”存储无法传送或已过期的消息的副本。 3)“专用系统队列”是一系列存储系统治性消息处理操作所需的管理和通知消息的专用队列消息中间件在以后的开发中,将会向传输的消息大小和容量不受限制的方向发展。 MB消息路由和数据转换。 消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。

    67410编辑于 2025-08-29
  • 消息队列

    什么是消息队列消息队列是一种异步通信(Asynchronous Communication)的服务或组件。 它充当了消息的中介:发送方(生产者,Producer)将消息发送到队列中,接收方(消费者,Consumer)从队列中获取并处理消息。 核心特点是解耦:生产者和消费者不需要知道彼此的存在,它们只与消息队列交互。消息队列是解决高并发问题的关键技术之一。2.解决了什么问题? 2.Broker 真正的 “消息存储 & 转发节点”:存储生产者发送的消息,给消费者提供消息读取;管理 Topic(消息主题)、Queue(消息队列)等元数据。 // 3.

    85710编辑于 2025-11-11
  • 来自专栏晨曦破晓の家

    消息队列

    啥是消息队列 一般来说,消息队列是一种异步的服务间通信方式,是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。 通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。 消息队列有哪些 Kafka RocketMQ RabbitMQ pulsar activeMQ verneMQ 一个大型的分布式系统,通常都会异步化,走消息总线。 消息队列作为最主要的基础组件,在整个体系架构中,有着及其重要的作用。异步通常意味着编程模型的改变,时效性会降低。 kafka是目前最常用的消息队列,尤其是在大数据方面,有着极高的吞吐量。 而rocketmq和rabbitmq,都是电信级别的消息队列,在业务上用的比较多。相比较而言,ActiveMQ使用的最少,属于较老一代的消息框架。

    5.2K30发布于 2020-09-11
  • 消息队列

    二、使用场景异步处理发送者将消息发送给消息队列之后,不需要同步等待消息接收者处理完毕,而是立即返回进行其它操作。消息接收者从消息队列中订阅消息之后异步处理。 例如在注册流程中通常需要发送验证邮件来确保注册用户身份的合法性,可以使用消息队列使发送验证邮件的操作异步处理,用户在填写完注册信息之后就可以完成注册,而将发送验证邮件这一消息发送到消息队列中。 可以将请求发送到消息队列中,服务器按照其处理能力从消息队列中订阅消息进行处理。 通过使用消息队列,一个模块只需要向消息队列中发送消息,其它模块可以选择性地从消息队列中订阅消息从而完成调用。三、可靠性发送端的可靠性发送端完成操作后一定能将消息成功发送到消息队列中。 事务提交成功后,将消息表中的消息转移到消息队列中,若转移消息成功则删除消息表中的数据,否则继续重传。接收端的可靠性接收端能够从消息队列成功消费一次消息

    1.6K30编辑于 2024-05-15
  • 来自专栏全栈程序员必看

    消息队列

    消息队列 一、消息模型 点对点 消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。 发布/订阅 消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。 二、使用场景 异步处理 发送者将消息发送给消息队列之后,不需要同步等待消息接收者处理完毕,而是立即返回进行其它操作。消息接收者从消息队列中订阅消息之后异步处理。 可以将请求发送到消息队列中,服务器按照其处理能力从消息队列中订阅消息进行处理。 通过使用消息队列,一个模块只需要向消息队列中发送消息,其它模块可以选择性地从消息队列中订阅消息从而完成调用。 三、可靠性 发送端的可靠性 发送端完成操作后一定能将消息成功发送到消息队列中。 事务提交成功后,将消息表中的消息转移到消息队列中,若转移消息成功则删除消息表中的数据,否则继续重传。 接收端的可靠性 接收端能够从消息队列成功消费一次消息

    4.6K20发布于 2021-04-07
  • 消息队列

    消息队列 前言: 说实话,最近还是比较忙的,手上素材倒是一大把,但是大多只是初步整理了。但是博客这种东西还是要写的,果然后面还是要放低一下排版要求(扩展性的一些东西也少提一些)。 简介: 消息队列这个东西,其实网上的资料还是很多的。我就简单说一些自己的认识与源代码哈。 演变: 我是很喜欢了解技术演进的,因为演进的过程展现了前辈们的智慧。 最早的程序串行执行就不说了。 当然了,在本篇中,只简单谈一下异步通信的主流实现-消息队列。 选择: 选择方面,我就不多说了,目前只用过RabbitMq,RocketMq,Kafka。 网上有关消息队列选择的文章很多,很细致,我就不赘述了。 代码实现: 这里贴出来的都是实际生产代码(如果内部版本也算的话,嘿嘿),所以如果有一些不是很熟悉的类,请查看import,是否是项目自身的类。 virtual-host: "/" connection-timeout: 15000 小结: 这里不得不赞一下Spring,它通过提供RabbitMq地封装API-ampq,极大地简化了消息队列的代码

    34910编辑于 2025-08-26
  • 来自专栏springBoot3.0

    消息队列

    关于消息队列 ???? 文章简介:Kafka ???? 创作目的:消息队列 ☀️ 今日天气:天气很好 ???? 每日一言:“所行皆坦途 所求皆如愿。” ---- kafka常用于构建TB级别的异步消息系统 首先谈到对于框架的含义 : Java 框架由一系列可重用的预编写代码组成,它们起着模板的作用,开发人员可以根据需要通过填充自定义代码来创建应用。 在我们不使用Kafka的情况下,我们也能通过Java自带的API:BlockingQueue解决阻塞队列、实现消息系统或解决类似的问题、 ! :9 Thread-0生产:10 Thread-3消费:9 Thread-0生产:10 Thread-1消费:9 Thread-0生产:10 Thread-2消费:9 Thread-3消费:8 Thread -2消费:7 Thread-1消费:6 Thread-2消费:5 Thread-3消费:4 Thread-1消费:3 Thread-2消费:2 Thread-3消费:1 Thread-1消费:0 Process

    4.2K20编辑于 2023-03-06
  • 来自专栏技术换美食换不换

    消息队列

    实时性要求不高,比较耗时的任务,可以考虑消息队列,如激活邮件,图像处理。 应用场景 应用耦合:多应用对于同一消息处理 异步处理:应用建并发处理消息 流量削锋 消息驱动系统:log 消息通讯:订阅同一主题,实现点对点通信 成熟MQ特点 RabbitMQ: 不支持消息批量处理,多 client无序,不支持事务 Kafka:只支持pull,不支持push,不支持事务 RockerMQ:最高单机吞吐量,但ali只有java客户端 ZeroMQ:“史上最快消息队列” 功能队列 优先级队列 延迟队列:30分钟未付款 死信队列:回退队列,充实队列

    4K20发布于 2018-08-28
  • 来自专栏Owen's World

    消息队列

    为什么使用消息队列 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 先说一下消息队列常见的使用场景吧,其实场景有很多,但是比较核心的有 3 个:解耦、异步、削峰。 解耦 看这么个场景。A 系统发送数据到 BCD 三个系统,通过接口调用发送。 如果使用 MQ,那么 A 系统连续发送 3消息到 MQ 队列中,假如耗时 5ms,A 系统从接受一个请求到返回响应给用户,总时长是 3 + 5 = 8ms,对于用户而言,其实感觉上就是点个按钮,8ms 所以说,只要高峰期一过,A 系统就会快速将积压的消息给解决掉。 消息队列有什么优缺点 优点上面已经说了,就是在特殊场景下有其对应的好处,解耦、异步、削峰。 如何保证消息队列的高可用,可以点击这里查看。 系统复杂度提高 硬生生加个 MQ 进来,你怎么保证消息没有重复消费?怎么处理消息丢失的情况?怎么保证消息传递的顺序性?

    3.3K40编辑于 2021-12-08
  • 来自专栏芋道源码1024

    消息队列 MQ 专栏】消息队列之 ActiveMQ

    消息传送模型 点对点模型(Point to Point)使用队列(Queue)作为消息通信载体,满足生产者与消费者模式,一条消息只能被一个消费者使用,未被消费的消息队列中保留直到被消费或超时。 Queue,队列,点对点模式下特定生产者向特定队列发送消息,消费者订阅特定队列接收消息并进行业务逻辑处理。 使用网络连接器的简单场景 如图所示,服务器 S1 和 S2 通过 NewworkConnector 相连,生产者 P1 发送的消息,消费者 C3 和 C4 都可以接收到,而生产者 P3 发送的消息,消费者 3"); } } 启动好 activeMQ 服务之后运行 StartApplication 类,在控制台看到接收到文本消息: ? 接收到文本消息 队列监听器监听到了一条消息,两个主题监听器分别监听到了两条消息

    8.4K10发布于 2018-07-31
  • 来自专栏芋道源码1024

    消息队列 MQ 专栏】消息队列之 Kafka

    3. 分布式 支持 Server 间的消息分区及分布式消费,同时保证每个 partition 内的消息顺序传输。 逻辑上一个 Topic 的消息虽然保存于一个或多个broker上,但用户只需指定消息的 Topic 即可生产或消费数据而不必关心数据存于何处) 3. Partition Topic 物理上的分组,一个 Topic 可以分为多个 Partition ,每个 Partition 是一个有序的队列。 kafka-server-start server-2.properties kafka-server-start server-3.properties 3. 3. 标准化二进制消息格式 为了避免无效率的字节复制,尤其是在负载比较高的情况下影响是显著的。

    5.3K00发布于 2018-07-31
  • 来自专栏芋道源码1024

    消息队列 MQ 专栏】消息队列之 RocketMQ

    消费消息时通过 Consumer Group 实现了将消息分发到多个消费者服务器实例,比如某个 Topic 有9条消息,其中一个 Consumer Group 有3个实例(3个进程或3台机器),那么每个实例将均摊 3消息,这也意味着我们可以很方便的通过加机器来实现水平扩展。 消息队列 消息队列(Message Queue),主题被划分为一个或多个子主题,即消息队列。 一个 Topic 下可以设置多个消息队列,发送消息时执行该消息的 Topic ,RocketMQ 会轮询该 Topic 下的所有队列消息发出去。下图 Broker 内部消息情况: ? 顺序消费表示消息消费的顺序同生产者为每个消息队列发送的顺序一致,所以如果正在处理全局顺序是强制性的场景,需要确保使用的主题只有一个消息队列

    8.1K00发布于 2018-07-31
  • 来自专栏乐行僧的博客

    进程通信(二)消息队列(System V 消息队列

    一、System V 消息队列简介 消息队列消息队列的本质是由Linux内核创建用于存放消息的链表,并且其功能是用来存放消息的,所以又称之为消息队列。 二、分析消息队列的数据结构 Linux为了维护消息队列,为消息队列创建了数据结构,接下来我们来分析一下消息队列的结构以及消息队列节点的结构。 (2)指定一个(key_t)value,这个value只要未使用即可,可以通过ipcs -q命令查看已有消息队列的key值, 以避免重复使用。 (3)使用ftok生成key。 msgrcv函数 3.ssize_t msgrcv(int msqid, void *ptr, size_t length, long type, int flag); 参数ptr: 指定接受消息存放的位置 (3)IPC_STAT,此时buff作为传出参数可以获取消息队列消息头中msg_perm结构体的在内核中的内容。

    3.7K20编辑于 2022-02-24
  • 来自专栏月梦·剑心的技术专栏

    认识消息队列

    消息队列简介 消息队列,英文名:Message Queue,经常缩写为MQ。从字面上来理解,消息队列是一种用来存储消息队列。可以简单理解消息队列就是将需要传输的数据存放在队列中。 消息队列–用于存放消息的组件 程序员可以将消息放入到队列中,也可以从消息队列中获取消息 很多消息队列不是一个永久性的存储,是作为临时存储存在的(设定一个期限:设置消息在MQ中保存10天) 本质是个队列, 但这个队列需要支持高吞吐、高并发、并且高可用 消息队列中间件 消息队列中间件就是用来存储消息的软件(组件)。 ,会导致另一个也不好工作,这时候引入消息队列,一个组件只需要把消息放在MQ中,另一个组件取消息即可。 流量消峰 在服务器和数据库之间放一个消息队列,用消息队列的大吞吐量,快速处理用户请求。

    95320编辑于 2023-08-31
  • 来自专栏golang学习笔记

    顺序消息队列

    消息队列顺序具体分为局部有序和全局有序: 局部顺序:一个Topic下只需要满足同一消息key是有序的既可。 Producer_1将消息msg1、msg2依次写入Topic_1,Topic_1将消息转发到唯一的队列Partition_1中,顺序依旧为mage2<-msg1,Consumer_1先读到msg1,然后是 写版本:消息发送前先请求版本服务,请求数据: { "key":"fhr2f0hd3v", "data":["title","status"], } 此时fhr2f0hd3v_title和fhr2f0hd3v_status 将消息发送到消息队列消息体里需要记录版本号 message: { "modify": { "status": { "version": 1, "value": "- 正常来说,fhr2f0hd3v_title和fhr2f0hd3v_status对应的版本号应该都是1,但是这条消息由于网络延迟严重滞后,实际的版本分别是1和3

    1.8K10编辑于 2022-10-05
  • 来自专栏夏天爱西瓜

    消息队列介绍

    以上场景,都可以使用消息队列有效解决。 什么是消息队列消息(Message)是指在应用间传送的数据(比如字符串,json等),消息队列(Message Queue,简称MQ)是一个古老的计算机术语,UNIX进程间通信就用到了消息队列技术:一个进程把数据写入某个特定队列中 传递模式 消息队列一般有两种传递模式: 点对点(Point to Point,简称PTP):消息生产者发送消息队列,消费者从队列中接收消息消息队列的作用 介绍几个消息队列的重要作用: 解耦:传统的软件开发模式,各个模块之间相互调用,数据共享,每个模块都要时刻关注其他模块的是否更改或者是否挂掉等等,使用消息队列,可以避免模块之间直接调用,将所需共享的数据放在消息队列消息丢失 消息堆积一个处理方案就是给消息加上超时时间判定,这样就会衍生一个问题,当消息堆积,处理完成之后,就会存在一定消息的丢失,或者服务器宕机也会导致消息丢失,需要针对此类问题做好应对方案。 3.

    2.4K10发布于 2020-09-07
领券