25__过期缓存:如何防止缓存被流量打穿?

你好,我是陶辉。

这一讲我们将对一直零散介绍的缓存做个全面的总结,同时讨论如何解决缓存被流量打穿的场景。

在分布式系统中,缓存无处不在。比如,浏览器会缓存用户 Cookie,CDN 会缓存图片,负载均衡会缓存 TLS 的握手信息,Redis 会缓存用户的 session,MySQL 会缓存 select 查询出的行数据,HTTP/2 会用动态表缓存传输过的 HTTP 头部,TCP Socket Buffer 会缓存 TCP 报文,Page Cache 会缓存磁盘 IO,CPU 会缓存主存上的数据,等等。

25__基础篇:Linux_磁盘I_O是怎么工作的(下)

你好,我是倪朋飞。

上一节我们学习了 Linux 磁盘 I/O 的工作原理,并了解了由文件系统层、通用块层和设备层构成的 Linux 存储系统 I/O 栈。

其中,通用块层是 Linux 磁盘 I/O 的核心。向上,它为文件系统和应用程序,提供访问了块设备的标准接口;向下,把各种异构的磁盘设备,抽象为统一的块设备,并会对文件系统和应用程序发来的 I/O 请求,进行重新排序、请求合并等,提高了磁盘访问的效率。

25__基于特征的区域划分:树模型

不知道你是否留意过非洲的地图?和其他大洲按照地理边界划分国界的方式不同,很多非洲国家的国境线都是规则的直线条组合。这种非自然的划分背后隐藏着一段屈辱的历史:19 世纪起,欧洲的资本主义新贵们开始了对非洲的掠夺。而在巧取豪夺资源之外,他们也没有忘记抢占地盘,这些横平竖直的国境线就是对当年殖民主义者瓜分非洲无声的控诉。

25__兼容并包的领导方式

你可能听说过,很多硅谷公司都有个不成文的规定,叫作“多样化(Diversity)”,这是什么意思呢?

简单来说,就是要求在公司招人的时候,尽可能保持员工组成的多样化。

25__两个单元测试库:C++里如何进行单元测试_

你好,我是吴咏炜。

单元测试已经越来越成为程序员工作密不可分的一部分了。在 C++ 里,我们当然也是可以很方便地进行单元测试的。今天,我就来介绍两个单元测试库:一个是 Boost.Test [1],一个是 Catch2 [2]。

25__冒险和预测(四):今天下雨了,明天还会下雨么?

过去三讲,我主要为你介绍了结构冒险和数据冒险,以及增加资源、流水线停顿、操作数前推、乱序执行,这些解决各种“冒险”的技术方案。

在结构冒险和数据冒险中,你会发现,所有的流水线停顿操作都要从指令执行阶段开始。流水线的前两个阶段,也就是取指令(IF)和指令译码(ID)的阶段,是不需要停顿的。CPU 会在流水线里面直接去取下一条指令,然后进行译码。

25__让数据说话:如何建设企业级数据度量平台?

你好,我是石雪峰。今天我来跟你聊聊数据度量平台。

先说个题外话。在 2019 年的 DevOps World | Jenkins World 大会上,CloudBees 公司重磅发布了他们的全新产品:SDM - Software Delivery Management 。在我看来,这注定是一个跨时代的产品。