12、分布式系统设计:数据一致性与故障容错的纠葛你好,我是郑建勋。 前面几节课,我们介绍了微服务为什么是一种自然演进的架构,也讨论了微服务架构伴随而来的问题。 微服务可以分散到多个机器中,它本身是分布式架构的一种特例,所以自然也面临着和分布式架构同样的问题。除了我们之前介绍的可观测性等问题之外,微...2025-12-13Go进阶-分布式爬虫实战
13、智慧之火:详解分布式容错共识算法你好,我是郑建勋。 上节课,我们说分布式系统总是需要在可用性和数据一致性之间找到平衡,也就是既要确保当少部分节点发生故障时,程序仍然能够正确且正常地运行,又要保证分布式节点之间对某一事件达成共识。其实这并不是一件容易的事情,好在许多容错共识算法为我们...2025-12-13Go进阶-分布式爬虫实战
14、谋定而动:爬虫项目需求分析与架构设计你好,我是郑建勋。 这节课,我们来看看爬虫系统的功能与架构。 为了更好地完成爬虫项目,我们需要进入真实的场景中,了解项目的价值、用户的需求,这样我们才能够明白项目应该具备哪些功能,明白为了支撑这些用户需求,我们需要设计出怎样的系统架构。所以这节课,我...2025-12-13Go进阶-分布式爬虫实战
15、众人拾柴:高效团队的Go编码规范你好,我是郑建勋。 在前面两个模块,我们回顾了Go语言的基础知识,掌握了Go项目的开发流程,也完成了爬虫项目的架构设计、功能设计和流程设计。不过,为了写出“好”的代码,我们必须规范代码,这就需要定义好整个团队需要遵守的编程规范了。 我们为什么需要编程...2025-12-13Go进阶-分布式爬虫实战
16、网络爬虫: 一次HTTP请求的魔幻旅途你好,我是郑建勋。 上节课,我讲解了开发一个Go项目需要遵守的编程规范。接下来我们就要开始正式书写爬虫实战项目了。 这个项目的核心是通过HTTP协议与目标网站通信,然后发送请求并获取目标网站的对应资源。在下面两节课,我会带着你从一个最简单的HTTP请...2025-12-13Go进阶-分布式爬虫实战
17、巨人的肩膀:HTTP协议与Go标准库原理你好,我是郑建勋。 在正式开始这节课之前,我想给你分享一段话。 学校教给我们很多寻找答案的方法。在我所研究的每一个有趣的问题中,挑战都是寻找正确的问题。当Mike Karels和我开始研究TCP拥堵时,我们花了几个月的时间盯着协议和数据包的痕迹,问...2025-12-13Go进阶-分布式爬虫实战