GaryLee's Blog
09
28
压测分析 压测分析
一、什么是压测?为什么要做压测?压测,也叫做压力测试,是通过模拟用户请求,来帮助我们评估系统QPS和发现系统瓶颈所在,是一个高可用系统的一个必要手段之一。 二、压测流程是怎样的?一般压测分为以下几步: 确定压测目标:如哪个接口/方法、压测
28
20
19
为什么Redis集群的最大槽数是16384? 为什么Redis集群的最大槽数是16384?
一、为什么Redis集群的最大槽数是16384?这里说到的Redis集群指的是Redis Cluster集群,它用了哈希槽(Hash Slot)来实现数据的分片,key查找的时候会通过CRC16算法取模后找到对应的Slot槽。(集群介绍可参
2023-09-19
18
什么是两阶段提交和三阶段提交? 什么是两阶段提交和三阶段提交?
一、背景在分布式系统中,不同节点通过网络进行通信和协调,并且在物理上是相互独立的,所以为了保证数据一致性,我们需要引入分布式事务。(具体可查看《什么是分布式事务?》) 而分布式事务中比较经典的一致性算法有二阶段提交和三阶段提交。 二、两阶段
2023-09-18
18
什么是分布式事务? 什么是分布式事务?
一、什么是分布式事务?传统的单库/单节点事务处理起来比较方便(如MySQL遵循ACID特性),而分布式事务指的是多个跨库/跨节点之间的事务,比较复杂。 举个例子,在分布式系统中,如果要在电商系统中实现一个下单支付功能,需要涉及多个事务操作:
2023-09-18
18
什么是BASE理论? 什么是BASE理论?
一、背景Base理论的核心思想是最终一致性,即使无法做到强一致性(Strong Consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual Consistency)。 二、什么是BA
2023-09-18
17
什么是CAP模型? 什么是CAP模型?
一、什么是CAP模型?CAP模型指的是在分布式系统中,不可能同时满足以下三个点(最多只能满足两个点): 一致性(Consistency):访问分布式系统的每一个节点都能获得最新的数据 可用性(Availability):每次请求都会收到响
2023-09-17
17
什么是分布式系统? 什么是分布式系统?
一、什么是分布式系统?分布式系统指的是将一个系统拆分为多个子系统,每一个子系统单独对外提供各自负责的功能。 比如在电商系统中,就可以分为几个功能模块: 订单模块 商品模块 支付模块 购物车模块 … 二、分布式系统的优缺点优点: 可扩展
2023-09-17
14
Kafka如何保证顺序消费? Kafka如何保证顺序消费?
一、背景Kafka中一个topic有多个partition,在同一个partition中的消息是有序的。为什么呢?因为Kafka会将消息**追加写****到指定partition的日志文件中,所以消费消息的话也是按offset顺序消费的。
2023-09-14
14
Kafka如何保证数据不丢失? Kafka如何保证数据不丢失?
一、Kafka中数据是怎么传输的?Kafka中数据传输分为三步: Producer端将消息发送给Broker Broker端将消息进行同步并持久化 Consumer端从Broker将消息拉取并消费 二、Kafka如何保证数据不丢失?因为
2023-09-14
14
Kafka如何避免重复消费? Kafka如何避免重复消费?
一、为什么会出现重复消费的问题? 一个消费者组有多个消费者,每条消息只会被某个消费者的某个分区消费,如果没有正常提交offset,就会导致后续重复拉取到该消息而重复消费 超过max.poll.interval.ms时间还没消费完就会触发重平
2023-09-14
1 / 3