16再谈一致性:除了CAP之外的一致性模型还有哪些?

在“05 | 一致性与 CAP 模型:为什么需要分布式一致性”中,我们讨论了分布式数据库重要的概念——一致性模型。由于篇幅的限制,我在该部分只谈到了几种数据端(服务端)的强一致模型。那么这一讲,我们将接着讨论剩下的一致性模型,包括客户端(会话)一致性、最终一致性,等等。

17 深度思考子集:如何掌握5种通用解法?

今天我会带你深度思考子集,介绍掌握 5 种通用解法。

不知道你对子集问题是否还有印象,我们曾在“12 | 回溯:我把回溯总结成一个公式,回溯题一出就用它”,花了大量篇幅深入讨论过子集相关的问题。但当时的思路是已经知道了解题方法,然后再对题目实施“精确制导的定向爆破”。

17__Benchmark测试(上):如何做好微基准测试?

你好,我是尉刚强。从这节课开始,我们就进入了课程的第三个模块:性能看护篇。接下来,我们会用 5 节课的时间,来学习和掌握性能测试的核心理论、测试工具的选择和使用,并理解如何才能更好地集成在流水线中监控软件产品性能的能力。

17__Cache:多级缓存架构在消息系统中的应用

你好,我是袁武林。

今天,我要带你了解的是一项在 IM 系统中相对比较通用的、使用比较高频的,而且对系统性能提升非常明显的技术:缓存。

说到缓存,你应该不陌生。相对于磁盘操作,基于内存的缓存对耗时敏感的高并发应用来说,在性能方面的提升是非常明显的。

17__go语句及其执行规则(下)

你好,我是郝林,今天我们继续分享 go 语句执行规则的内容。

在上一篇文章中,我们讲到了 goroutine 在操作系统的并发编程体系,以及在 Go 语言并发编程模型中的地位和作用等一系列内容,今天我们继续来聊一聊这个话题。

17__Protobuf是如何进一步提高编码效率的?

你好,我是陶辉。

上一讲介绍的 HTTP/2 协议在编码上拥有非常高的空间利用率,这一讲我们看看,相比其中的 HPACK 编码技术,Protobuf 又是通过哪些新招式进一步提升编码效率的。

17__ReadWriteLock:如何快速实现一个完备的缓存?

前面我们介绍了管程和信号量这两个同步原语在 Java 语言中的实现,理论上用这两个同步原语中任何一个都可以解决所有的并发问题。那 Java SDK 并发包里为什么还有很多其他的工具类呢?原因很简单:分场景优化性能,提升易用性