
JAVA/WEB
文章平均质量分 89
xxxxxx91116
这个作者很懒,什么都没留下…
展开
-
《RocketMq》二、存储篇
RocketMQ的数据存储部分也是一个重头戏,他主要用于存储Producer生产的消息,Consume的逻辑队列,索引,以及主从复制,这里也是一个非常好的范例,我们可以看到如何处理数据存储,如何提高IO效率。东西太多信息量略大有点乱,之后再整理吧......一、总体结构CommitLog:实时执行,真正的I/O写入磁盘操作, 要求是实时的(当然,有时候只是写入内存,定时刷盘);ConsumeQue...原创 2015-12-16 21:31:55 · 21986 阅读 · 3 评论 -
《RocketMq》三、NameServer
RocketMQ-nameSrv用于管理所有broker的信息,以便于Producer和Consumer能够获取到正确的Broker信息,进行业务处理;可以看到NameSrv的主要管理内容如下:1. 接收Broker的注册,注销请求;2. Producer获取topic下的所有BrokerQueue,put消息3. Consumer获取topic下所有的BrokerQueue,get消息所以可以看...原创 2015-12-18 17:41:46 · 8758 阅读 · 2 评论 -
《RocketMq》五、Client-Producer生产者详解
Producer的用途大家都很清楚,主要就是生产消息,那么分布式模式下与单队列模式不一样,如何能够充分利用分布式的优势,将生产的消息分布到不同的队列下呢?Rocket-MQ提供了3种不同模式的Producer:1. NormalProducer2. OrderProducer3. TransactionProducer一、数据结构1. TopicPublicInfo:仅仅是Producer使用,保...原创 2015-12-22 12:53:56 · 8972 阅读 · 0 评论 -
《RocketMq》六、Client-Consumer消费者详解
Consumer-集群Push模式-简介:0、背景介绍 Consumer主要用于向Broker请求Producer产生的消息,对其进行消费;对于RocketMQ,我们一定很好奇,如何实现分布式的Consumer消费,如何保证Consumer的顺序性,不重复性呢? 存在的问题:1. 如果在集群模式中新增/减少 组(group) 消费者,可能会导致重复消费;原因是:假设新增消费者前,C...原创 2015-12-23 23:18:05 · 43007 阅读 · 0 评论