35__跨集群备份解决方案MirrorMaker

你好,我是胡夕。今天我要和你分享的主题是:Kafka 的跨集群数据镜像工具 MirrorMaker。

一般情况下,我们会使用一套 Kafka 集群来完成业务,但有些场景确实会需要多套 Kafka 集群同时工作,比如为了便于实现灾难恢复,你可以在两个机房分别部署单独的 Kafka 集群。如果其中一个机房出现故障,你就能很容易地把流量打到另一个正常运转的机房下。再比如,你想为地理相近的客户提供低延时的消息服务,而你的主机房又离客户很远,这时你就可以在靠近客户的地方部署一套 Kafka 集群,让这套集群服务你的客户,从而提供低延时的服务。

35__块设备(下):如何建立代理商销售模式?

文件系统那一节,我们讲了文件的写入,到了设备驱动这一层,就没有再往下分析。上一节我们又讲了 mount 一个块设备,将 block_device 信息放到了 ext4 文件系统的 super_block 里面,有了这些基础,是时候把整个写入的故事串起来了。

还记得咱们在文件系统那一节分析写入流程的时候,对于 ext4 文件系统,最后调用的是 ext4_file_write_iter,它将 I/O 的调用分成两种情况:

35__理解并建立自己的工作弹性

在设计软件系统的时候,我们常常会提到弹性架构设计。一个好的软件系统就像是一个具备弹性的有机生命体,能够动态地改变自己的特性或功能,调配资源,去适应外界的变幻并满足不同的需求。

35__两阶段终止模式:如何优雅地终止线程?

前面两篇文章我们讲述的内容,从纯技术的角度看,都是启动多线程去执行一个异步任务。既启动,那又该如何终止呢?今天咱们就从技术的角度聊聊如何优雅地终止线程,正所谓有始有终。

35__流量调度与负载均衡

你好,我是七牛云许式伟。

相比桌面程序而言,服务端程序依赖的基础软件不只是操作系统和编程语言,还多了两类:

  • 负载均衡(Load Balance);
  • 数据库或其他形式的存储(DB/Storage)。

为什么会需要负载均衡(Load Balance)?今天我们就聊一下有关于流量调度与负载均衡的那些事情。

35__流量控制:高并发系统中我们如何操纵流量?

你好,我是唐扬。

上一节课里,我带你了解了微服务架构中常见的两种有损的服务保护策略:熔断和降级。它们都是通过暂时关闭某些非核心服务或者组件从而保护核心系统的可用性。但是,并不是所有的场景下都可以使用熔断降级的策略,比如,电商系统在双十一、618 大促的场景。

35__如何准备测试数据?

你好,我是茹炳晟,今天我和你分享的主题是:如何准备测试数据。

从今天开始,我们将一起进入测试数据准备这个新的系列了。我会用四篇文章,和你详细探讨软件测试过程中关于测试数据准备的话题。我会依次分享测试数据创建的基本方法、测试数据准备的痛点、自行开发的测试数据工具,以及目前业内最先进的统一测试数据平台。

35__实战一(下):手把手带你将ID生成器代码从“能用”重构为“好用”

上一节课中,我们结合 ID 生成器代码讲解了如何发现代码质量问题。虽然 ID 生成器的需求非常简单,代码行数也不多,但看似非常简单的代码,实际上还是有很多优化的空间。综合评价一下的话,小王的代码也只能算是“能用”、勉强及格。我们大部分人写出来的代码都能达到这个程度。如果想要在团队中脱颖而出,我们就不能只满足于这个 60 分及格,大家都能做的事情,我们要做得更好才行。

35__通过面试,你能了解这个团队多少?

前面的绝大多数文章,重点都在讲面试官问应聘者的情形,在这篇里,我们说说应聘者怎么从公司那里得到信息。

面试过程是双向的,公司在考查应聘者的同时,应聘者也在考查公司。如果应聘者能了解到更多的公司和职位信息,就能更全面地评价这个职位是否适合自己,充分做好入职的准备,或者避免踩坑,而不仅仅靠薪水来衡量一个职位了。

35__网站性能优化(下)

你好,我是四火。

上一讲我们介绍了网站性能优化的基础知识,包括性能指标、关注点,以及寻找性能瓶颈的思路。那么这一讲,我们就来介绍网站性能优化的具体方法,我们将从产品和架构、后端和持久层,以及前端和网络层这样三个部分分别展开。优化的角度和方法可以说花样繁多,我在这里举一些典型的例子,希望既能给你一些内容上的介绍,进而拓宽视野,也能给你一些思考角度上的启发。