GaryLee's Blog
线上Redis的Zset集合占用内存过大问题分析 线上Redis的Zset集合占用内存过大问题分析
一、背景有一天,企微收到了一条告警:Redis实例内存达到80%已自动扩容。通过分析内存变化曲线,发现是近几天才开始涨得比较快。通过大key分析拿到了几个key,命名分别是ts_file_0、ts_file_1、…、ts_file_9,很明
没做线程池隔离导致的线上故障分析 没做线程池隔离导致的线上故障分析
一、背景线上服务监控告警某个服务接口大量失败,先访问出问题的机器,拿到异常堆栈,然后临时紧急重启后正常。 异常堆栈信息如下:[DUBBO] Thread pool is EXHAUSTED! Thread Name: DubboServer
为什么Redis集群的最大槽数是16384? 为什么Redis集群的最大槽数是16384?
一、为什么Redis集群的最大槽数是16384?这里说到的Redis集群指的是Redis Cluster集群,它用了哈希槽(Hash Slot)来实现数据的分片,key查找的时候会通过CRC16算法取模后找到对应的Slot槽。(集群介绍可参
2023-09-19
什么是两阶段提交和三阶段提交? 什么是两阶段提交和三阶段提交?
一、背景在分布式系统中,不同节点通过网络进行通信和协调,并且在物理上是相互独立的,所以为了保证数据一致性,我们需要引入分布式事务。(具体可查看《什么是分布式事务?》) 而分布式事务中比较经典的一致性算法有二阶段提交和三阶段提交。 二、两阶段
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
5 / 15