随笔分类 - 消息队列
摘要:什么是MQ消息积压? MQ消息积压是指消息队列中的消息无法及时处理和消费,导致队列中消息累积过多的情况。 消息积压后果: ①:消息不能及时消费,导致任务不能及时处理 ②:下游消费者处理大量的消息任务,导致系统性能下降、延迟增加以及资源消耗过高 消息积压可能的问题 生产者: 消息冗余下发 消息队列 分
阅读全文
摘要:延时队列 1、什么是延时队列 队列是存储消息的载体,延时队列存储的对象是延时消息。 所谓的延时消息,是指消息被发送以后,并不想让消费者立刻获取,而是等待特定的时间后,消费者才能获取这个消息进行消费。 和定时任务的区别: 1)定时任务有明确的触发时间,延时任务没有 2)定时任务有执行周期,而延时任务在
阅读全文
摘要:一、MQ如何保证消息不丢失 可以从以下三个阶段来保证 1、生产者保证消息投递成功 1)Kafka 生产者发送消息的发送确认 ack为all时,即由所有的leader和follower都确认接收到消息才认为是成功的 2)RabbitMQ confirm消息确认机制: 生产端投递的消息一旦投递到Rabb
阅读全文
摘要:1、安装RabbitMQ 1)MAC:brew install rabbitmq 启动:rabbitmq-server 2、配置可视化RabbitMQ管理界面 1)输入命令rabbitmq-plugins.bat enable rabbitmq_management,这样就可以添加可视化插件了。 2
阅读全文
摘要:官方介绍:http://rocketmq.apache.org/docs/quick-start/ 一、RocketMQ学习 RocketMQ优点: 延时 单机写吞吐 RocketMQ <10ms 3w+ 基本概念 1、消息模型(Message Model) RocketMQ主要由 Producer
阅读全文
摘要:本地部署: window配置启动: 1、 添加环境变量 ROCKETMQ_HOME="D:\rocketmq" NAMESRV_ADDR="localhost:9876" 2、启动名称服务器 bin\mqnamesrv.cmd 3、启动Broker bin\mqbroker.cmd -n local
阅读全文
摘要:拦截器是早在 Kafka 0.10.0.0 中就引入的一个功能,kafka一共有两种拦截器:生产者拦截器和消费者拦截器。 一、生产者拦截器 生产者拦截器既可以用来在消息发送前做一些准备工作,比如按照某个规则过滤不符合要求的消息、修改消息的内容等,也可以用来在发送回调逻辑前做一些定制化的需求,比如统计
阅读全文
摘要:kafka官方文档:https://kafka.apache.org/documentation/#quickstart 1、main方法中(1.0以上) import org.apache.kafka.clients.consumer.Consumer; import org.apache.kaf
阅读全文
摘要:Spring for Apache Kafka 官网:https://docs.spring.io/spring-kafka/docs/current/reference/html/ 一、Spring整合Kafka 1、需要的jar包 <dependency> <groupId>org.spring
阅读全文
摘要:Kafka中文文档:https://kafka.apachecn.org/ 可视化客户端工具:https://www.kafkatool.com/download.html Kafka是目前使用较多的消息队列,以高吞吐量得到广泛使用 特点: 1、同时为发布和订阅提供搞吞吐量。Kafka的设计目标是以
阅读全文
摘要:分布式应用和集群: 从部署形态来看,它们都是多台机器或者多个进程部署,而且都是为了实现一个业务功能。 如果是一个业务被拆分成多个子业务部署在不同的服务器上,那就是分布式应用 如果是同一个业务部署在多台服务器上,那就是集群 分布式应用的多个子系统之间并不是完全独立的,它们需要相互通信来共同完成某个功能
阅读全文
摘要:消息队列不仅解决了服务内部由于业务流程的同步执行而造成的阻塞,并且可以实现业务解耦。 什么是消息队列 消息队列:顾名思义,首先是一个队列,存放消息的队列 队列,先进先出,队列的操作有入队和出队, 也就是你有一个程序在产生内容然后入队(生产者) 另一个程序读取内容,内容出队(消费者) 消息队列,简称M
阅读全文