1. 1.1 消息队列介绍historical

    1. 什么是MQ - 消息队列,解耦生产者和消费者 - 生产者消费者其实也可以用数据库实现:生产者可以将事件写入数据库,消费者定时轮询数据库 - 但是这种方式对数据库的压力太大 2. MQ消息分发模型 - 有两种消息模型:队列模型和发布-订阅模型 2.1. 队列模型 - 一个生产者- Queue-

  2. 1.2 消息队列消息的顺序性historical

    1. 什么是消息的顺序性问题 如图,生产者先后向消息队列发送了两条数据: 插入数据 、 更新数据 ,假设消费者有两个节点,消息队列会把这两条数据轮询发送消费者,消费者1消费了 插入数据 ,消费者2消费了 更新数据 ,最后插入MySQL的顺序先后是 更新数据 、 插入数据 ,这样的话更新数据的时候还没

  3. 2.1 Kafka安装historical

    1. Kafka版本号 kafka 2.12-2.8.0.tgz 前面的数字 2.12 表示Scala版本,后面的数字 2.8.0 便是Kafka的版本 2. Kafka集群搭建 2.1. 搭建zookeeper环境 Zookeeper安装.md 2.2. 搭建scala环境 2.2.1. 下载sc

  4. 2.2 Kafka介绍historical

    1. Kafka是什么 - 分布式的消息系统 2. Kafka使用场景 - 消息系统:基于发布订阅模式 - 存储系统:消息会持久化到磁盘 - 流式处理平台 3. Kafka安装 Kafka安装.md 4. Kafka使用 Kafka使用.md 5. Kafka原理 Kafka架构.md 6. Kaf

  5. 2.3 Kafka使用historical

    1. 命令行使用 1.1. Topic 1. 创建Topic Topic名叫first; --partition设置为2表示有2个分片,可以在logs目录中看到; replication-factor设置为1表明只有一份数据,就是他自己。如果设置为2为报错,因为只有一个broker,无法分散副本;

  6. 2.4 Kafka架构historical

    1. Kafka拓扑结构 Producer 将消息发送到特定的Topic,Topic中的消息存储在Broker上,Consumer 通过订阅特定的Topic来消费消息。 2. 三大组件 2.1. 生产者 Kafka生产者.md 2.2. Broker Kafka Broker.md Kafka To

  7. 2.5 Kafka生产者historical

    1. 生产者是什么 - Kafka的客户端之一,负责生产消息,push到Kafka 2. 生产者消息发送流程 - 涉及三个对象: main 线程、Sender 线程、一个线程共享变量: RecordAccumulator(存放待发送的数据) - 过程:main 线程创建消息,通过Intercepto

  8. 2.6 Kafka Brokerhistorical

    1. Broker是什么 - Kafka的服务端,负责存储消息 - Kafka Cluster中的每个节点叫做Broker。可以看作是一个独立的 Kafka 实例。多个 Kafka Broker 组成一个 Kafka Cluster。 2. Controller 2.1. Controller是什么

  9. 2.7 Kafka消费者historical

    1. 消费者是什么 - Kafka的客户端之一,负责消费消息,从Kafka pull消息 1.1. 消费者组 - 一个Consumer Group可以有多个Consumer - 每个Consumer Group可以独立消费Topic的所有消息 - 对于一个Topic,同一个Group的两个Consu

  10. 2.8 Kafka消息磁盘存储historical

    1. 日志 1.1. 日志目录结构 - 每个partition一个文件夹,包含四类文件 .index .log .timeindex leader-epoch-checkpoint - .index .log .timeindex 三个文件成对出现 前缀为上一个segment的最后一个消息的偏移 -

  11. 2.9 Kafka Topichistorical

    1. Topic - Kafka中的消息以Topic分类,是个逻辑概念 - Kakfa有两个内部Topic - consumer offsets 用于存放存放消费者偏移量 - transcation state 用于持久化事务状态信息。 2. Partition - Topic分成多个Partiti

  12. 2.10 Kafka优化historical

    1. 写吞吐量 - Batch and Fan In / Fan out 2. 带宽优化 开启压缩 3. 参考 - How to Consume Kafka Efficiently in Golang? \ by Jing \ The Startup \ Medium

  13. 2.11 Kafka压测historical

    1. 压测 1.1. 生产者 1.2. 消费者 2. 分片数和机器数确定 同业务系统设计分析思路.md的 发布 1. 计算单个分片/机器所能支撑的QPS,参考压力测试.md 2. 计算分片/机器数 = 业务预估QPS/单个分片/机器所能支撑的QPS + 一点富余量 3. 参考 - Kafka压力测试

  14. 2.12 云Kafkahistorical

    1. 腾讯云Kafka 基于VIP+原生Kafka - VIP:就是北极星注册中心的寻址+健康检查+就近路由的功能 CKafka 会为客户端暴露一个 VIP,客户端在连接到 VIP 后,会拿到主题分区的元数据信息 当某个可用区不可用时,该 VIP 会自动漂移到该地域另一个可用的节点,从而实现跨可用区

  15. 2.13 Kafka源码阅读historical

    环境搭建 Windows 系统 Kafka\-0\.10\.0\.1 源码阅读环境搭建\ after95的博客\-CSDN博客

  16. 3.RabbitMQhistorical

    1. RabbitMQ使用 - RabbitMQ使用.md 2. RabbitMQ安装 - RabbitMQ集群模式.md 3. RabbitMQ原理 - RabbitMQ消息的可靠性.md 4. 参考 - RabbitMQ面试题 - 昕友软件开发 - 博客园 - 2019年12道RabbitMQ高

  17. 3.1 RabbitMQ使用historical

    1. 数据传输流程 生产者发送消息- rabbitmq的exchange,通过routing key路由到相应的queue上- 消费者接收消息 2. 工作模式 发送消息的代码 - 工作队列,交换机为空 这种模式会把消息发送到QUEUE NAME的队列上 - 发布订阅,fanout交换机 这种模式会广

  18. 3.2 RabbitMQ消息的可靠性historical

    1. 三种情况 1.1. 生产者 消息没传到mq丢失了,或者到了mq但是mq出问题了没保存消息 1.2. MQ mq把消息暂存在内存中,还未写入磁盘,挂了 1.3. 消费者 消费了这条消息,但是没有处理成功就挂了 2. 解决 2.1. 生产者 2.1.1. 开启事务 开始事务后生产者会同步阻塞直到m

  19. 3.3 RabbitMQ集群模式historical

    1. 集群模式 1.1. 普通集群模式 master节点存放元数据和队列数据,其他节点只存放元数据。 消费者可以向任意一个节点发出请求,如果是slave会将请求转发给master进行处理后返回给客户端 - 优点 - 提高消费者的吞吐量 - 缺点 - 可能会在集群内部产生大量的数据传输 - maste