-
rocketsmq-03-Architecture&Design 架构与设计
架构设计
1 技术架构
RocketMQ架构上主要分为四部分,如上图所示:
Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。
Consumer:消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对...
2018-09-20 01:35:26 |
MQ
-
rocketsmq-02-concept&features 基本概念与特性
基本概念
1 消息模型(Message Model)
RocketMQ主要由 Producer、Broker、Consumer 三部分组成,其中Producer 负责生产消息,Consumer 负责消费消息,Broker 负责存储消息。Broker 在实际部署过程中对应一台服务器,每个 Broker 可以存储多个Topic的消息,每个Topic的消息也可以分片存储于不同的 Broker。...
2018-09-20 01:35:26 |
MQ
-
MQ Learn-01-Overview
MQ 的优势
1.通过持久性冗余
冗余是消息队列最明显的优势之一。应用程序崩溃,超时,代码中的错误以及其他问题只是常态的一部分。在每月处理数百万或数十亿交易的应用程序中尤其如此。
队列通过使读取消息的进程确认它已完成事务并且可以安全地删除它来帮助实现冗余。如果出现任何问题,最糟糕的情况是,该消息会持久保存到某处,并且不会丢失。它可以在以后重新处理。
2.交通高峰期
您并不总是确切知...
2018-09-20 01:35:26 |
MQ
-
Spring Kafka
Spring Kafka
Apache Kafka的Spring (Spring - Kafka)项目将核心Spring概念应用到基于Kafka的消息解决方案的开发中。
它提供了一个“模板”作为发送消息的高级抽象。
它还提供了对带有 @KafkaListener 注解和“侦听器容器”的消息驱动pojo的支持。
这些库促进了依赖注入和声明性的使用。
在所有这些情况下,您将看到与Spr...
2018-09-19 07:44:59 |
MQ
-
QMQ-03-顺序消费
顺序消费消息的必要性
在MQ里,顺序消息的意思是消费消息的顺序和消息发送时(单机发送)的顺序保持一致。
比如ProducerA按照顺序发送msga, msgb, msgc三条消息,那么consumer消费的时候也应该按照msga, msgb, msgc来消费。
对于顺序消息,在我们实际使用中发现,大部分业务系统并不需要或者并不依赖MQ提供的顺序机制,这些业务本身往往就能处理无序的消息,...
2018-09-19 07:44:59 |
MQ
-
QMQ-02-设计特色和项目架构
设计背景
现在市面上已经有很多消息中间件了(ActiveMQ, RabbitMQ, Kafka, RocketMQ),那么为什么我们还要造另外一个轮子呢?
首先QMQ是2012年就开始开发的,在这个时期其实消息中间件并没有太多的选择,那个时候Kafka还不太成熟,而RocketMQ也没有出现,大部分公司都会采用ActiveMQ或RabbitMQ。
首先RabbitMQ的开发语言是erl...
2018-09-19 07:44:59 |
MQ
-
QMQ-01-入门使用
QMQ
QMQ QMQ是去哪儿网内部广泛使用的消息中间件,自2012年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景; 也包括报价搜索等高吞吐量场景。
目前在公司内部日常消息qps在60W左右,生产上承载将近4W+消息topic,消息的端到端延迟可以控制在10ms以内。
特性
主要提供以下特性:
异步实时消息
延迟/定时消息(支持任意秒级)
广播消息(每个...
2018-09-19 07:44:59 |
MQ
-
Kafka 为什么这么快
Kafka
Apache Kafka 也算是 MQ 的一颗新秀。
问题就是,Kafka 为什么这么快?
Kafka 使用磁盘比内存快
其实Kafka最核心的思想是使用磁盘,而不是使用内存,可能所有人都会认为,内存的速度一定比磁盘快,我也不例外。
在看了Kafka的设计思想,查阅了相应资料再加上自己的测试后,发现磁盘的顺序读写速度和内存持平。
而且Linux对于磁盘的读写优化也比较...
2018-09-19 07:44:59 |
MQ