52__管理设计篇之“分布式锁”

我们知道,在多线程情况下访问一些共享资源需要加锁,不然就会出现数据被写乱的问题。在分布式系统下,这样的问题也是一样的。只不过,我们需要一个分布式的锁服务。对于分布式的锁服务,一般可以用数据库 DB、Redis 和 ZooKeeper 等实现。不管怎么样,分布式的锁服务需要有以下几个特点。

52__计算虚拟化之内存:如何建立独立的办公室?

上一节,我们解析了计算虚拟化之 CPU。可以看到,CPU 的虚拟化是用户态的 qemu 和内核态的 KVM 共同配合完成的。它们二者通过 ioctl 进行通信。对于内存管理来讲,也是需要这两者配合完成的。

52__设计大型DMP系统(上):MongoDB并不是什么灵丹妙药

如果你一讲一讲跟到现在,那首先要恭喜你,马上就看到胜利的曙光了。过去的 50 多讲里,我把计算机组成原理中的各个知识点,一点一点和你拆解了。对于其中的很多知识点,我也给了相应的代码示例和实际的应用案例。

52__深入浅出网站可扩展性架构设计

你好,我是茹炳晟。今天我和你分享的主题是:深入浅出网站可扩展性架构设计。

在上一篇文章中,我从可伸缩性和可扩展性对应的英文术语的角度,和你分享了这两个概念的差异,并且和你详细介绍了网站的可伸缩性架构设计主要包括的内容,以及从测试人员的视角需要关注哪些点进行针对性的测试。

52__算法实战(一):剖析Redis常用数据类型对应的数据结构

到此为止,专栏前三部分我们全部讲完了。从今天开始,我们就正式进入实战篇的部分。这部分我主要通过一些开源项目、经典系统,真枪实弹地教你,如何将数据结构和算法应用到项目中。所以这部分的内容,更多的是知识点的回顾,相对于基础篇、高级篇的内容,其实这部分会更加容易看懂。

52_选择从众,还是唯一?

想要取得成就,就会面临竞争,几乎所有的成就,都是直接或间接通过与他人的比较来评价的。理解了这样的评价与竞争关系,想要取得成就,出类拔萃,就意味着你要做出选择:选择从众、随大流,还是选择一条只属于自己的路?

53__管理设计篇之“配置中心”

我们知道,除了代码之外,软件还有一些配置信息,比如数据库的用户名和密码,还有一些我们不想写死在代码里的东西,像线程池大小、队列长度等运行参数,以及日志级别、算法策略等,还有一些是软件运行环境的参数,如 Java 的内存大小,应用启动的参数,包括操作系统的一些参数配置……