ActiveMQ是Apache软件基金会所研发的一款消息中间件,在两个系统或者客户端之间做消息的传送。官方宣称是最流行的基于JMS(Java Message Service)规范的开源、多协议消息中间件。其支持多种语言,包括Java, C, C++, C#, Ruby, Perl, Python, PHP等,应用场景也非常广泛,常用在推送模式ActiveMQ的数据推送流程如下:系统业务的解耦,异步
转载 2024-04-08 12:35:24
123阅读
一、Pub/Sub-发布/订阅消息传递模型 在发布/订阅消息模型中,发布者发布一个消息,该消息通过topic传递给所有的客户端。在这种模型中,发布者和订阅者彼此不知道对方,是匿名的且可以动态发布和订阅topictopic主要用于保存和传递消息,且会一直保存消息直到消息被传递给客户端。 发布订阅模型就像订阅报纸。我们可以选择一份或者多份报纸,比如:北京日报、人民日报。这些报纸就相当于发布订阅模型中
直观的结果:当生产者向 topic 发送消息,1. 若不存在持久订阅者和在线的普通订阅者,这个消息不会保存,当普通订阅者上线后,它是收不到消息的。2. 若存在离线的持久订阅者,broker 会为该持久订阅者保存消息,当该持久订阅者上线后,会收到消息。本质:producer 发送消息给 topic,broker 接收消息并且分发给 consumers。consumers 包括持久订阅者和在线的普通订
原创 2022-11-15 15:05:19
146阅读
文章目录前言特别声明感受原生ActiveMQ中的 ack创建 session 时的两个入参连接ActiveMQ的一个小窍门生产者的 ack 规律生产者 session 开启事务代码运行结果在ActiveMQ 提供的管理后台查看生产者 session 不开启事务代码运行结果在ActiveMQ 提供的管理后台查看消费者的 ack 规律消费者 session 开启事务代码在ActiveMQ 提供的管理
转载 2024-06-19 09:24:35
56阅读
在之前一篇文章中,Jaskey Lam:RocketMQ原理(4)——消息ACK机制及消费进度管理我们有提过消费起始位点的问题,本文针对这个子话题,剖析下消费者是怎么决定一开始自己的消费位置的。同时,针对常见的一个问题:CONSUME_FROM_LAST不生效,我们做一个系统的解释(囊括各种场景,包括RocetMQ的一个疑似bug)。消费进度如何管理的?在上文中我们已经提过消费进度的管理方式:
转载 2024-09-30 11:15:45
61阅读
消息的 destination 分为 queue 和 topic,而消费者称为 subscriber(订阅者)。queue 中的消息只会发送给一个订阅者,而 topic 的消息,会发送给每一个订阅者。在 broker 中,处理 queue 消息和 topic 消息的逻辑是不同的。queue 先存储消
原创 2022-11-15 15:11:14
190阅读
我相信大家通过前面的学习,已然知道了如何发送队列消息及消费队列消息。本文我们将一起学习如何发送topic消息和接收topic消息。 我们依然在TestActiceMQ单元测试类中添加一个测试方法,用来测试发送topic消息,如下图所示,其实这个方法与发送队列消息几乎一样,只是创建Destination对象的时候不一样而已。 为了方便大家复制,现将testTopicProducer测试方法的代码贴出
转载 2024-03-29 08:24:31
281阅读
ActiveMq中Queue与Topic的简单分析1.Queue与Topic的技术特点分析  TopicQueue概要Publish Subscribe messaging 发布订阅消息Point-to-Point 点对点有无状态topic数据默认不落地,是无状态的。Queue数据默认会在mq服务器上以文件形式保存,比如Active MQ一般保存在$AMQ_HOME\data\kr-st
参考网址:http://activemq.apache.org/virtual-destinations.html 实际场景:整个项目中,自己处于consumer端,与另外一个consumer共同监听topic消息,发送的是VirtualTopic消息。原来使用的 VirtualTopic.***监听不到消息,后请教同组大神,才知道要改成Consumer.***.Virtual
转载 2024-02-19 00:09:50
33阅读
RocketMQ:java语言编写;1.支持事物消息(实现解决分布式事物的问题);2.支持顺序消息处理;采用内存队列+多线程处理;3.消费者支持tag过滤,减少我们带宽传输;kafka:和RocketMQ架构区别:1.kafka通过zookeeper来进行协调,而rocketMq通过自身的nameserver进行协调。2.性能对比:kafaka单机写入tps约在百万条/s,消息大小10个字节roc
dubbo 订阅服务订阅 It seems like over the past year, streaming services have become a dime a dozen, with big names like Jay-Z, Dr. Dre, and Tim Cook all trying their hand at dethroning the curren
import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; p
原创 2023-04-28 09:39:40
79阅读
ConcurrentModificationException:KafkaConsumer is not safe for multi-threaded access  和KafkaProducer不同的是,KafkaConsumer不是线程安全的,所以我们不能直接在没有同步保护的机制下直接启用另一个线程调用consumer的任何方法(除了wakeup)。因此,实现这个需求有两种途径:使用重量级的
转载 2023-12-13 23:03:06
250阅读
RocketMQ - Topic、messageTopic表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。存储方式每个Broker可以存储多个Topic消息,每个Topic的消息同时也可以分片存储在不同的Broker上,每个Topic中的消息地址存储于多个Message Queue中。架构信息Topic利用queue记录消息所在bro
转载 2023-12-23 20:45:43
146阅读
如果你是先生产后订阅,那么先生产发布的消息,后面订阅则消费不到。
转载 2020-11-27 16:22:00
77阅读
2评论
什么是ActiveMQActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。主要特点:1. 多种语言和协议编写客户端。语言: Java, C, C++, C#, Ruby, Perl, P
转载 2024-10-08 13:47:00
40阅读
什么是prefetchprefetch即在activemq中消费者预获取消息数量,重要的调优参数之一。当消费者存活时,broker将会批量push prefetchSize条消息给消费者,消费者也可以配合optimizeAcknowledge来批量确认它们。由于broker批量push消息给消费者,提高了网络传输效率,此值默认为1000。通过上述,我们对broker消息转发机制的了解,可以知道,
0、消息持久化和消息保留有什么规律?关于持久化和消息的保留见下表:消息类型是否持久化是否有Durable订阅者消费者延迟启动时,消息是否保留Broker重启时,消息是否保留QueueN-YNQueueY-YYTopicNNNNTopicNYYNTopicYNNNTopicYYYY 1. ActiveMQ服务器宕机怎么办?这得从ActiveMQ的储存机制说起。在通常的情况下,
转载 2024-07-13 08:52:20
40阅读
activeMQ的网络连接两个Brokers是通过一个static的协议来网络链接的。一个consumer链接到brokerB的一个地址上, 当Producer 在brokerA以相同的地址发送消息时,此时他将转移到brokerB上,也就是brokerA的消息会 到BrokerB上可以配置的属性name:默认为bridgedecreaseNetworkConsumerPriority:默认为f
MQ产品种类: Kafka RabbitMQ RocketMQ ActiveMQ1 何种场景下使用了消息中间件? 工程模块相互调用频繁,且模块过多时。RPC(Dubbox架构,类似同步调用。请求(client)-》服务注册中心(dubbox或者eruka)-》响应(service)。必须一条线逐个完成。)调用存在各种问题:耦合大,性能差(同步),负载重,结构逐渐复杂(某个模块负载过多)RPC: R
转载 2024-10-17 11:04:52
20阅读
  • 1
  • 2
  • 3
  • 4
  • 5