GaryLee's Blog
什么是两阶段提交和三阶段提交? 什么是两阶段提交和三阶段提交?
一、背景在分布式系统中,不同节点通过网络进行通信和协调,并且在物理上是相互独立的,所以为了保证数据一致性,我们需要引入分布式事务。(具体可查看《什么是分布式事务?》) 而分布式事务中比较经典的一致性算法有二阶段提交和三阶段提交。 二、两阶段
2023-09-18
什么是分布式事务? 什么是分布式事务?
一、什么是分布式事务?传统的单库/单节点事务处理起来比较方便(如MySQL遵循ACID特性),而分布式事务指的是多个跨库/跨节点之间的事务,比较复杂。 举个例子,在分布式系统中,如果要在电商系统中实现一个下单支付功能,需要涉及多个事务操作:
2023-09-18
什么是BASE理论? 什么是BASE理论?
一、背景Base理论的核心思想是最终一致性,即使无法做到强一致性(Strong Consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual Consistency)。 二、什么是BA
2023-09-18
什么是CAP模型? 什么是CAP模型?
一、什么是CAP模型?CAP模型指的是在分布式系统中,不可能同时满足以下三个点(最多只能满足两个点): 一致性(Consistency):访问分布式系统的每一个节点都能获得最新的数据 可用性(Availability):每次请求都会收到响
2023-09-17
什么是分布式系统? 什么是分布式系统?
一、什么是分布式系统?分布式系统指的是将一个系统拆分为多个子系统,每一个子系统单独对外提供各自负责的功能。 比如在电商系统中,就可以分为几个功能模块: 订单模块 商品模块 支付模块 购物车模块 … 二、分布式系统的优缺点优点: 可扩展
2023-09-17
Kafka如何保证顺序消费? Kafka如何保证顺序消费?
一、背景Kafka中一个topic有多个partition,在同一个partition中的消息是有序的。为什么呢?因为Kafka会将消息**追加写****到指定partition的日志文件中,所以消费消息的话也是按offset顺序消费的。
2023-09-14
Kafka如何保证数据不丢失? Kafka如何保证数据不丢失?
一、Kafka中数据是怎么传输的?Kafka中数据传输分为三步: Producer端将消息发送给Broker Broker端将消息进行同步并持久化 Consumer端从Broker将消息拉取并消费 二、Kafka如何保证数据不丢失?因为
2023-09-14
Kafka如何避免重复消费? Kafka如何避免重复消费?
一、为什么会出现重复消费的问题? 一个消费者组有多个消费者,每条消息只会被某个消费者的某个分区消费,如果没有正常提交offset,就会导致后续重复拉取到该消息而重复消费 超过max.poll.interval.ms时间还没消费完就会触发重平
2023-09-14
Kafka的副本机制有什么用? Kafka的副本机制有什么用?
一、什么是Kafka的副本机制?Kafka的副本机制,也就是备份机制,指在分布式集群中每个节点都同步了相同的数据备份。 二、Kafka的副本机制有什么用?Kafka的副本机制是保证消息可靠性的重要手段之一,它可以: 提高可用性:每个top
2023-09-14
什么是Kafka的重平衡机制? 什么是Kafka的重平衡机制?
一、什么是Kafka的重平衡机制?Kafka的重平衡(Rebalance)机制指的是消费者组(Consumer Group)新增或删除消费者(Consumer)时,Kafka集群会重新分配topic分区给各个消费者,以保证每个消费者消费的分
2023-09-13
什么是消息队列? 什么是消息队列?
一、什么是消息队列?消息队列(Message Queue),简称MQ,是一种应用间的通信方式,主要由三部分组成: 生产者(Producer):负责消息发送 代理(Broker):负责消息存储 消费者(Consumer):负责消息消费 二
2023-09-13
如何提高缓存命中率? 如何提高缓存命中率?
一、什么是缓存命中率?如果我们使用redis作为缓存数据库,一般会用缓存命中率来评判对系统的性能(抗并发性)有多大的提升。通常来说,命中率越高,表示使用缓存效果越高,同时系统性能越好、抗并发能力越强。 缓存命中率指的是客户端查询语句查询re
2023-09-13
6 / 16