随笔分类 - MQ
摘要:kafka是什么? kafka是一个分布式基于发布/订阅的消息系统,它以可水平拓展和高吞吐率而被广泛使用。 kafka的组成 Broker :kafka集群中的服务器,其不维护数据消费状态,使用磁盘存储,线性读写,速度快。 Producer:负责发布消息到broker Consumer:消息消费者,
阅读全文
摘要:交换机是用来发送消息的AMQP实体。交换机拿到一个消息之后将它路由给一个或0个队列。它使用哪种路由算法由交换机类型和绑定的规则所决定的。 RabbitMQ中有4种交换机: 直连交换机(Direct exchange) 预声明的默认名称:空串 or amq.direct 根据消息携带的routing
阅读全文
摘要:Rabbitmq有七种模式 简单模式(Hello World):一个生产者对一个消费者,Rabbitmq相当于一个消费代理,负责将A消息转给B。 应用场景:电子邮件。 工作队列模式(Work queues):竞争消费者模式,一个生产者对应多个消费者,适用执行资源密集型,需要多个消费者处理。 应用场景
阅读全文
摘要:在网络延迟等不可控的因素下,消息被重复发送的问题不可避免,但是我们应该保证我们的消息不被重复消费。 如何解决? 在消费的业务逻辑里加入保证MQ重复消费的幂等性的操作。 什么是幂等性? 其任意多次执行多产生的影响均与一次执行的影响相同。 如何保证幂等性? 从业务的实际操作划分解决方案 仅使用消息进行数
阅读全文
摘要:什么是消息队列? Message Queue 消息队列,简称 MQ。 队列是一种先进先出的数据结构,而消息队列就是把要传输的数据放在队列中。一般把数据放到消息队列叫生产者,而把从消息队列里取数据叫消费者。 目前常见的消息队列中间件有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、Met
阅读全文