| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> RabbitMQ -> 正文阅读 |
|
[大数据]RabbitMQ |
RabbitMQ的好处解耦 服务只向消息服务器发消息, 不考虑谁要数据 下游要数据, 从消息服务器订阅 削峰 高峰时排队处理数据, 减轻瞬时压力 异步 将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度 为什么使用消息队列?通过一个 MQ,发布订阅消息这么一个模型,A 系统跟其它系统彻底解耦 通过MQ存储发送异步写入请求, 加速响应时间 高峰期积压请求, 预防MySQL爆掉 缺点可用性降低 复杂度提高 一致性问题 如何保证消息队列的高可用?普通集群模式, 单纯提高吞吐量 镜像集群模式, 指定数据同步到所有节点 Kafka 的高可用性Kafka 一个最基本的架构认识:由多个 broker 组成,每个 broker 是一个节点。创建一个 topic,这个 topic 可以划分为多个 partition,每个 partition 可以存在于不同的 broker 上,每个 partition 就放一部分数据 一个 topic 的数据,是分散放在多个机器上的,每个机器就放一部分数据。 Kafka 0.8 以后,提供了 HA 机制,又称副本机制。每个 partition 的数据都会同步到其它机器上,形成自己的多个 replica 副本。replica 会选举一个 leader 出来,生产和消费都跟这个 leader 打交道,然后其他 replica 就是 follower。写的时候,leader 会负责把数据同步到所有 follower 上去,读的时候就直接读 leader 上的数据即可。 写数据的时候,生产者就写 leader,然后 leader 将数据落地写本地磁盘,接着其他 follower 自己主动从 leader 来 pull 数据。一旦所有 follower 同步好数据了,就会发送 ack 给 leader,leader 收到所有 follower 的 ack 之后,就会返回写成功的消息给生产者。 消费的时候,只从 leader 去读,但是只有当一个消息已经被所有 follower 都同步成功返回 ack 的时候,这个消息才会被消费者读到。 Kafka、ActiveMQ、RabbitMQ、RocketMQ 有什么优缺点?
中小型公司,RabbitMQ;大型公司,用RocketMQ 大数据领域的实时计算、日志采集,?Kafka 是业内标准的 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 | -2025/4/22 7:47:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |