个人简介

Echo Blog


江湖无名 安心练剑
  • 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
  • 竞争消费模式
    竞争消费模式 使多个并发的消费者来处理同一消息收发信道接收到的消息。 这种模式使系统能够同时处理多个消息以优化吞吐量,提高扩展性和可用性,并且以平衡的工作量。 背景与问题 在云中运行的应用程序可以预期处理大量的请求。而不是过程中的每个请求的同步,常用的技术是应用程序通过消息系统来处理这些异步其它服务(消费者服务)来传递他们。 这种策略有助于确保当请求正在处理中的应用程序的业务逻辑没...
    2018-09-17 08:36:54 | Pattern
  • RabbitMQ 实战入门-06-远程调用
    RPC 在第二个教程中,我们学习了如何使用工作队列在多个工作者之间分配耗时的任务。 但是,如果我们需要在远程计算机上运行一个函数并等待结果呢? 那是另一回事了。这种模式通常称为远程过程调用或RPC。 在本教程中,我们将使用RabbitMQ构建RPC系统: 客户机和可伸缩RPC服务器。 由于我们没有任何值得分发的耗时任务,我们将创建一个返回斐波那契数的虚拟RPC服务。 Client...
    2018-09-17 05:43:16 | MQ
  • RabbitMQ 实战入门-05-Topics
    Topics 在前面的教程中,我们改进了日志系统。我们没有使用只能进行虚拟广播的扇出(fanout)交换,而是使用了直接(direct)交换,并获得了选择性地接收日志的可能性。 虽然使用 direct exchange 改进了我们的系统,但是它仍然有局限性——它不能基于多个标准进行路由。 在我们的日志系统中,我们可能不仅要根据严重性订阅日志,还要根据发出日志的源订阅日志。 您可能从 ...
    2018-09-17 05:43:16 | MQ