共识Raft:如何保证多机房数据的一致性?

当机房 A 修改了一条数据的同时,机房 B 也对该数据进行了更新,Otter 会通过合并逻辑来处理冲突的数据行或字段,以达到合并效果。为了避免这种冲突,我们在上…

强一致锁:如何解决高并发下的库存争抢问题?

由于秒杀场景是库存争抢非常经典的一个应用场景,接下来我会结合秒杀需求,带你看看如何实现高并发下的库存争抢,相信在这一过程中你会对锁有更深入的认识。
锁争抢的错误…

同城双活:如何实现机房之间的数据同步?

在业务初期,为了控制投入成本,许多公司通常只使用一个机房提供服务。但随着业务的发展和流量的增长,对服务响应速度和可用性的要求逐渐提高,这时就需要考虑在不同地区…

缓存一致:读多写少时,如何解决数据更新缓存不同步?

我们之前提到过,互联网大多数业务场景的数据都属于读多写少,在请求的读写比例中,写的比例会达到百分之一,甚至千分之一。而对于用户中心的业务来说,这个比例会更大一些…

领域拆分:如何合理地拆分系统?

一般来说,强一致性的系统都会牵扯到“锁争抢”等技术点,有较大的性能瓶颈,而电商时常做秒杀活动,这对系统的要求更高。业内在对电商系统做改造时,通常会从三个方面入手…

跳数索引:后起新秀ClickHouse

在之前的学习进程中,我们已然领略到了 Elasticsearch 那强大的功能特性。然而,当进行技术选型之际,价格这一因素的影响力不容小觑。Elasticsea…

引擎分片:Elasticsearch如何实现大数据检索?

为什么 ELK 的功能如此强大呢?这就需要我们对 ELK 中储存、索引等关键技术点的架构实现进行深入了解才能弄明白。相信在学习完今天的内容之后,大家对于大数据分…

链路追踪:如何定制一个分布式链路跟踪系统 ?

分布式链路跟踪服务属于写操作频繁而读操作相对较少的服务类型,它在我们进行线上问题排查时发挥着重要的支撑作用。我曾参与过一个系统,该系统同时为多条业务线提供支持,…

实时统计:链路跟踪实时计算中的实用算法

如果数据量庞大,那么需要投入的服务器资源就会更多。就拿我们之前经历过的最大规模来说,曾投入了大约 2000 台服务器来搭建 ELK。然而,如果服务器资源十分匮乏…

稀疏索引:为什么高并发写不推荐关系数据库?

提及高并发写,必然绕不开新型分布式数据库 HTAP,它成功融合了 OLAP 和 OLTP,能够同时提供数据分析挖掘以及关系查询服务。实际上,HTAP 的 OLA…

系统隔离:如何应对高并发流量冲击?

在一次活动中,系统出现了大规模崩溃情况。活动开始时,约有五万学员同时进行操作,大量请求瞬间涌向服务器,使得服务端出现大量请求堆积,最终系统资源耗尽而停止响应。我…

分布式事务:多服务的2PC、TCC都是怎么实现的?

前言
目前,业界流行微服务,DDD(领域驱动设计)也随之流行起来。DDD 是一种拆分微服务的方法,它从业务流程的视角从上往下拆分领域,通过聚合根关联多个领域,将…

本地缓存:用本地缓存做服务会遇到哪些坑?

在探讨数据服务相关内容时,有一个方面不得不提及,那就是缓存。
要知道,就当下的情况而言,唯有缓存能够承担起大流量的数据服务需求。而我们常见的缓存架构呢,基本上都…

流量拆分:如何通过架构设计缓解流量压力?

今天,我打算以直播互动作为例子,引领大家一同去了解在面对读多写多的情况时,应当怎样去应对所产生的流量压力。通常而言,这类服务在多数情况下都属于实时互动服务。由于…

数据引擎:统一缓存数据平台

任何一个互联网公司都会有几个核心盈利的业务,我们经常会给基础核心业务做一些增值服务,以此来扩大我们的服务范围以及构建产业链及产业生态,但是这些增值服务需要核心项…

业务脚本:为什么说可编程订阅式缓存服务更有用?

我们已经习惯了使用缓存集群对数据做缓存。然而,这种常见的内存缓存服务存在诸多不便之处。首先,集群会独占大量的内存。这意味着在资源有限的情况下,可能会对其他系统资…

流量调度:DNS、全站加速及机房负载均衡

我们已经学习了有关从架构设计层面去应对流量压力的相关内容。大家都知道,像直播这类服务呀,其用户流量是很难预先准确估计的。一旦用户流量增大到某个程度,达到一个机房…

高并发系统:它的通用设计方法是什么?

在高并发系统的设计中,面对大流量的挑战,我们通常需要运用一些巧妙的方案来有效地分流和处理这些流量,从而保证系统的稳定性和用户体验。可以通过一个比喻来帮助理解:就…

多层依赖:如何避免落入数据服务接口的陷阱?

前面,我们讨论了不同类型系统(如读多写少、强一致、写多读少和读写密集)的优化方法。但在很多复杂的业务系统中,读写逻辑往往相互交织、互相制约,这让优化工作变得更具…

业务缓存:元数据服务如何实现?

当你打开微博或一个新闻网站时,眼前会呈现出丰富的媒体文件:图片、文本、音频、视频等应有尽有。有时,一个页面甚至由成百上千个文件组合而成。那么,这些文件究竟存放在…