分布式消息队列
文章平均质量分 75
最常见的分布式消息队列面试题,带你三分钟搞懂,面试再也不虚。
喵呜刷题
使用 Vx [喵呜刷题],来来来,我们一起组队刷题!
展开
-
说说数据一致性有哪几种?
一般来说,数据一致性模型可以分为强一致性和弱一致性,强一致性也叫做线性一致性,除此以外,所有其他的一致性都是弱一致性的特殊情况。弱一致性根据不同的业务场景,又可以分解为更细分的模型,不同一致性模型又有不同的应用场景。...原创 2022-06-06 10:56:42 · 3268 阅读 · 1 评论 -
说说Base 理论是什么?
BASE 理论是针对 NoSQL 数据库而言的,它是对 CAP 理论中一致性(C)和可用性(A)进行权衡的结果,源于提出者自己在大规模分布式系统上实践的总结。其核心思想是无法做到强一致性,但每个应用都可以根据自身的特点,采用适当方式达到最终一致性。...原创 2022-06-05 16:44:21 · 1345 阅读 · 0 评论 -
说说CAP 理论是什么?
CAP 理论是针对分布式数据库而言的,它是指在一个分布式系统中,一致性(Consistency, C)、可用性(Availability, A)、分区容错性(Partition Tolerance, P)三者不可兼得。原创 2022-06-04 10:34:05 · 1307 阅读 · 0 评论 -
说说你理解的分布式数据库
分布式数据库是数据库技术与网络技术相结合的产物,它通过网络技术将物理上分开的数据库连接在一起,进行逻辑层面上的集中管理。分布式数据库具有如下特性:分布性:数据库中的数据不是存储在同一场地,更确切的说,不存储在同一计算机的存储设备上,这就可以和集中式数据库相互区别。逻辑整体性:这些数据逻辑上是互相联系的,是一个整体(逻辑上如同集中数据库)。...原创 2022-06-03 10:00:16 · 856 阅读 · 0 评论 -
如何使用 Redis 实现分布式锁?
分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。原创 2022-06-02 10:51:28 · 404 阅读 · 0 评论 -
Kafka 如何做到高性能?
Kafka中每个Topic都包含一个或多个Partition,不同Partition可位于不同节点。原创 2022-06-01 11:50:37 · 172 阅读 · 0 评论 -
Kafka 开启 ACK 后的具体流程是怎样的?
Kafka 开启 ACK = request.required.asks参数配置Asks 这个参数是生产者客户端的重要配置,发送消息的时候就可设置这个参数。该参数有三个值可配置:0、1、All 。原创 2022-05-30 09:32:48 · 532 阅读 · 0 评论 -
说说Kafka水位(high watermark)与日志末端位移(log end offset)
水位或水印( watermark )一词,也可称为高水位 (high watermark) ,通常被用在流式处理领域(比如Apache Flink、Apache Spark等),以表征元素或事件在基于时间层面上的进度。一个比较经典的表述为:流式系统保证在水位 t 时刻,创建时间( event time ) = t’ 且 t’ ≤ t 的所有事件都已经到达或被观测到。原创 2022-05-29 22:44:40 · 2847 阅读 · 0 评论 -
说说Kafka 基本原理和架构?
一个典型的Kafka集群中包含若干Producer,若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个Zookeeper集群。Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时进行rebalance。Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅并消费消息。原创 2022-05-28 15:10:44 · 119 阅读 · 0 评论 -
不同消息队列的选型和对比
技术选型一般从下面四个维度出发:功能、性能、稳定性、运维。原创 2022-05-27 10:15:14 · 422 阅读 · 0 评论 -
Disruptor为什么会这么快?
没有竞争=没有锁=非常快。所有访问者都记录自己的序号的实现方式,允许多个生产者与多个消费者共享相同的数据结构。原创 2022-05-31 16:12:05 · 128 阅读 · 1 评论 -
如何保证消息不被重复消费?
kafka有个offset的概念,当每个消息被写进去后,都有一个offset,代表他的序号,然后consumer消费该数据之后,隔一段时间,会把自己消费过的消息的offset提交一下,代表我已经消费过了。下次我要是重启,就会继续从上次消费到的offset来继续消费。原创 2022-05-26 09:49:29 · 1208 阅读 · 0 评论 -
RabbitMQ 如何保证高可用的?
RabbitMQ基于主从模式实现高可用。RabbitMQ有三种模式:单机模式,普通集群模式,镜像集群模式。原创 2022-05-25 11:31:13 · 3612 阅读 · 0 评论 -
Kafka如何保证高可用的?
kafka的一个基本架构:多个broker组成,一个broker是一个节点;你创建一个topic,这个topic可以划分成多个partition,每个partition可以存在于不同的broker上面,每个partition存放一部分数据。这是天然的分布式消息队列。原创 2022-05-24 10:34:50 · 837 阅读 · 0 评论 -
为什么使用消息队列?
面对这些问题,我们围绕三个词回答就 OK 了:解耦、异步、削峰。消息队列是大型分布式系统实现高性能,高可用,可伸缩和最终一致性时不可缺少的中间件。原创 2022-05-22 12:39:24 · 307 阅读 · 0 评论