rabbitmq rocketmq kafka
RabbitMQ 生产者可靠性——生产者确认原理
生产者确认更加注重 消息发送失败时该怎么办 消息发送失败 采用的是确认机制(有两种确认机制:Publisher Confirm 和 Publisher Return) ......
RabbitMQ 生产者可靠性——生产者重连
我们配置的这个失败后的重连机制仅仅是发送者连接MQ失败 的 连接失败重试,如果消息发送抛出异常时不会重试,因为它只是连接失败的重试,不是消息发送的重试 spring: rabbitmq: host: 192.168.88.130 port: 5672 virtual-host: /hmall use ......
RabbitMQ 消息转换器
代码示例: 1. 引入依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId></dependency> 2. 在启动类中创建Bean package ......
RabbitMQ Java代码声明队列和交换机(方法二)
代码示例:创建一个Direct交换机,与两个队列绑定(direct.queue1、direct.queue2) 既是消费者,又可以创建交换机和队列,以及交换机与队列的 RoutingKey @RabbitListener(bindings = @QueueBinding( value = @Queu ......
RabbitMQ Java代码声明队列和交换机(方法一)
交换机和队列的声明一般写在消费者模块里 代码示例: package com.itheima.config_RabbitMQ;import org.springframework.amqp.core.*;import org.springframework.context.annotation.Bea ......
RabbitMQ Topic交换机
代码示例: 1. 新建两个队列 2. 创建交换机,名字叫 hmall.topic,类型选择 topic 3. hmall.topic 交换机绑定第一步的两个队列,绑定过程中填写 RoutingKey 4. 编写消费者代码监听这两个队列 @RabbitListener(queues = "topic. ......
RabbitMQ Direct交换机
代码示例: 1. 交换机绑定了两个队列,并给它们设置了RoutingKey 2. publisher 发送者给 Direct 交换机发消息时,第二个参数指定 RoutingKey: @GetMapping("/mq03")public void mq03(){ String exchangeName ......
RabbitMQ 发送消息到交换机
发送消息到交换机的代码: @GetMapping("/mq02")//发送消息给交换机public void mq02(){ String exchangeName = "hmall.fanout"; String msg = "hello, 每个人"; //三个参数:交换机名称、RoutingKe ......
RabbitMQ Fanout交换机
容易搞混的点: 1. 假如 publisher 给Fanout交换机发送了一条消息,那么Fanout交换机会给每一个绑定到它身上的队列都发送这条消息,也就是说有多少个队列跟它绑定了,这条消息就有几份,每个队列都收到一份。 2. 假如一个队列绑定了多个消费者,那么该队列在给消费者投递消息时就是轮询,一 ......
rabbitmq的推(push)拉(pull)模式介绍及代码实现
在rabbitmq中有两种消息处理的模式,一种是推模式/订阅模式/投递模式(也叫push模式),消费者调用channel.basicConsume方法订阅队列后,由RabbitMQ主动将消息推送给订阅队列的消费者;另一种是拉模式/检索模式(也叫pull模式),需要消费者调用channel.basic ......
RabbitMQ work模型
默认情况下,MQ队列如果绑定了多个消费者,那么队列在投递消息时就是轮询,一人投递一个(并且一条消息只能投递给监听该队列的某一个消费者) 在一个MQ队列上绑定多个消费者的目的是加快队列中消息的处理效率,防止队列中消息的堆积问题。 注:要在消费者的 application.yml 文件中加上这个配置 ......
RabbitMQ 接收队列的消息
代码示例: 注:要把这个类加上Component注解 package com.itheima.amqp_listener;import org.springframework.amqp.rabbit.annotation.RabbitListener;import org.springframewo ......
RabbitMQ 发送消息到队列(交换机不参与的那种)
1. 导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId></dependency> 2.在 application.yml 文件里编 ......
了解Kafka
背景介绍 Kafka 是一个消息系统,原本开发自 LinkedIn,用作 LinkedIn 的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司作为多种类型的数据管道和消息系统使用。LinkIn于2010年贡献给了Apache基金会并成 ......
如何保证RocketMQ消息不丢失
一、概述 一个消息从开始到结束会经历这么三个阶段:生产阶段、消息队列Broker存储阶段和消费阶段。一个消息在三个阶段中的任何一个阶段都有可能丢失,知道这个之后,我们只要保证这三个阶段不出现问题,消息自然就不会出现丢失了。接下来我们来细说一下如何保证这三个阶段不出现问题。 二、生产阶段 生产阶段的使 ......
【Spring】SpringBoot+RabbitMQ(direct/fanout/topic)の構築方法
■POM.xmlの中で、下記の内容を追加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> <depende ......
12.kafka单集群安装部署
一.安装jdk ,kafka需要至少jdk8+ 1.安装jdk yum install java-11-openjdk.x86_64 -y 2.查看安装是否正常 [root@localhost bin]# java --version openjdk 11.0.21 2023-10-17 LTS O ......
RabbitMQ:消息丢失 | 消息重复 | 消息积压的原因+解决方案
前言 首先说一点,企业中最常用的实际上既不是RocketMQ,也不是Kafka,而是RabbitMQ。RocketMQ很强大,但主要是阿里推广自己的云产品而开源出来的一款消息队列,其实中小企业用RocketMQ的没有想象中那么多。深层次的原因在于兔宝在中小企业普及更早,经受的考验也更久,很容易产生「 ......
使用RabbitMQ时使用MemoryPack序列化和反序列化对象
[MemoryPackable] public partial class UserEto { public String Name { get; set; } } 发送端 public class EventBus : IEventBus { public void Publish(string ......
rocketMq安装
# 拉取镜像 docker pull rocketmqinc/rocketmq # 创建一个文件夹用于存放相关文件 mkdir rocketMqAtHome01 && cd rocketMqAtHome01 # 创建namesrv数据卷文件夹 mkdir -p data/namesrv/logs d ......
RabbitMQ消息队列
一.什么是消息队列1.简介在介绍消息队列之前,应该先了解什么是 AMQP(Advanced Message Queuing Protocol, 高级消息队列协议,点击查看)消息(Message)是指在应用间 传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象;而 消息 ......
kafka docker-compose 单节点部署
启动脚本 sed -i -r "s/[0-9]{1,3}(\.[0-9]{1,3}){3}/$(ifconfig $(ip route show default |head -1 |awk '{print $5}') |grep -oP '(?<=inet\s)\d+(\.\d+){3}')/g" ......
Docker + supervisor在同一容器中部署zookeeper和kafka
使用supervisor进程管理工具,在同一个容器中部署zookeeper和kafka 目录 Dockerfile jdk1.8.0_181.tar.gz kafka_2.12-1.1.0.tgz conf.d docker-compose.yml kafka_conf.d conf.d 中为sup ......
【MQ】RabbitMQの概念紹介及び実行方法
参考URL: <https://www.cnblogs.com/yy-cola/p/11089800.html> <https://blog.csdn.net/qq_41097820/article/details/88793329> ■中心概念 【Message】 消息 消息是不具名的,它由消息头 ......
kafka中如何创建topic?
通过如下的命令创建topic kafka-topics.sh \ --bootstrap-server <Kafka集群地址> \ --create \ --topic <Topic名称> \ --partitions <分区数> \ --replication-factor <副本因子> 示例 b ......
什么是kafka中topic、分区、副本、偏移量、消息保留策略
Kafka是一个开源的分布式流式数据平台,也成为分布式消息队列。 用于高吞吐量、低延迟的数据发布和订阅。 1、什么是topic (主题) ? 在Kafka中,Topic(主题)是数据发布和订阅的基本单位,它代表了相同类型的消息流。 一个Topic可以看作是一个逻辑上的数据流管道,消息的生产者(Pro ......
Kafka 如何保证消息消费的全局顺序性
哈喽大家好,我是咸鱼 今天我们继续来讲一讲 Kafka 当有消息被生产出来的时候,如果没有指定分区或者指定 key ,那么消费会按照【轮询】的方式均匀地分配到所有可用分区中,但不一定按照分区顺序来分配 我们知道,在 Kafka 中消费者可以订阅一个或多个主题,并被分配一个或多个分区 如果一个消费者消 ......
linux中使用docker安装rabbitmq
首先确保linux中docker环境正常运行。 1、搜索docker镜像 docker search rabbitmq 2、拉取镜像 docker pull rabitmq 3、启动rabbitmq docker run -d --name rabbitmq1 --restart always -p ......