Go进阶 · 分布式爬虫实战--极客时间课程推荐/优惠
版权声明
本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。
课程详情
你将获得:
- 高效的编码规范与研发工具;
- 深入Go语法背后的底层机制;
- 高性能与可扩展的程序设计方法;
- 复杂线上案例的全方位分析;
- 大规模分布式系统的架构之道。
课程介绍
过去的十多年间,互联网行业迅猛发展,大数据、大规模集群计算、复杂的网络环境……各种新的挑战让人应接不暇。面对这些问题,一些早已发展成熟的语言显示出些许笨重和疲态,也就是在这一语境下,Go语言应运而生。
Go语言被称作是“云计算时代的 C 语言”,它专注于软件开发过程本身,简洁、易上手,且天生支持高并发编程。因此,也在众多编程语言中日益显示出其竞争力,市场需求有增无减。
然而,就是在这个崭新的赛道上,想要进阶成为 Go 高级工程师也并非易事。你可能有过这样的困惑:
- 疲于应付需求,程序缺乏设计,代码也不规范,最终导致程序越来越难扩展和维护;
- 不懂Go语法背后的运行机制,也不知道如何提升,无法解决复杂的系统问题;
- 难以跳出开发,从上层视角思考系统的技术选型与架构设计;
- 没有大规模云原生、分布式系统、微服务集群的实战经验,且缺乏学习路径。
为了解决这些问题,我们请到了深耕 Go 领域的郑建勋老师。他有着丰富的大规模云原生、分布式、微服务集群实战经验。
这门课程,他会把零碎的知识点串联起来,形成 Go 语言和系统设计的完整知识体系与方法论。然后理论融合实践,带你一起完成一个具备扩展性、高并发、分布式、微服务的复杂系统:
课程特色
课程主要有五大特色。
特色一:在“玩”中学,爬虫为基座
专栏以爬虫项目贯穿始终,从需求拆解和架构设计开始,带你独立完成能够支撑海量爬虫任务的高并发系统、具有故障容错能力的分布式系统、具备可扩展性和领域驱动的微服务系统。
特色二:谋定而动,写出“好”代码
专栏不只是讲解如何写代码,还会给出一流团队的编码规范与扫描工具。让我们摆脱过去的思维定势,摆脱疲于应付需求的现状,写出简洁、高效、健壮和可扩展的代码。
特色三:“深”入原理,理论结合实践
专栏在项目开发过程中,会融入底层原理知识,结合实践告诉你为什么代码要这样写,它背后的机制是怎样的。让你不仅知其然,也能够知其所以然。
特色四:硬核实战,“调”试复杂问题
专栏会为你总结出系统的性能分析方法论,并结合实战案例,手把手教你调试代码,定位线上复杂问题。并有节约了线上千台容器的性能分析实战案例。
特色五:不畏浮云遮望眼,掌“控”更大规模系统
此外,专栏还会跳出开发单一程序的狭隘视角,为你系统介绍大型互联网产品的整个生命周期。介绍大规模微服务集群的典型架构,深入探讨微服务协议、架构、治理等问题。
课程目录
开篇词
- 开篇词|聚沙成塔,构建高性能、分布式爬虫项目
项目启动篇
- 01|知识回顾:Go基础知识你真的掌握了吗?
- 02|内有乾坤:Go语言六大基础知识体系
- 03|进阶路线:如何深入学习Go语言?
- 04|敏捷之道:大型Go项目的开发流程是怎样的?
- 05|全局视野:洞悉项目开发流程与规范
- 06|免费的宝库: 什么是网络爬虫?
系统设计篇
- 07|冰川之下:深入Go高并发网络模型
- 08|高性能设计:自顶向下的高性能Go程序设计与优化
- 09|破解性能谜题:性能优化的五层境界
- 10|微服务设计:微服务架构与演进
- 11|微服务挑战:微服务治理体系与实践
- 12|分布式系统设计:数据一致性与故障容错的纠葛
- 13|智慧之火:详解分布式容错共识算法
- 14|谋定而动:爬虫项目需求分析与架构设计
Worker开发与原理篇
- 15|众人拾柴:高效团队的Go编码规范
- 16|网络爬虫: 一次HTTP请求的魔幻旅途
- 17|巨人的肩膀:HTTP协议与Go标准库原理
- 18|依赖管理:Go Module 用法与原理
- 19|从正则表达式到CSS选择器:4种网页文本处理手段
- 20|面向组合:接口的使用场景与底层原理
- 21|采集引擎:实战接口抽象与模拟浏览器访问
- 22|优雅地离场: Context超时控制与原理
- 23|偷梁换柱:为爬虫安上代理的翅膀
- 24|日志处理:日志规范与最佳实践
- 25 | 运筹帷幄: 协程的运行机制与调度器原理
- 26|高并发爬虫:模型、控制与冲突检测
- 27|掘地三尺:实战深度与广度优先搜索算法
- 28|调度引擎:负载均衡与调度器实战
- 29|细节决定成败:切片与哈希表的陷阱与原理
- 30|辅助任务管理:任务优先级、去重与失败处理
- 31|规则引擎:自定义爬虫处理规则
- 32|存储引擎:数据清洗与存储
- 33|固若金汤:限速器与错误处理
- 34|服务注册与监听:Worker节点与etcd交互
测试与分析篇
- 35|未雨绸缪:怎样通过静态与动态代码扫描保证代码质量?
- 36|测试的艺术:依赖注入、表格测试与压力测试
- 37|工具背后的工具:从代码覆盖率到模糊测试
- 38|高级调试:怎样利用Delve调试复杂的程序问题?
- 39|性能分析利器:深入pprof与trace工具
- 40|资源调度:深入内存管理与垃圾回收
- 41|线上综合案例:节约线上千台容器的性能分析实战
Master开发与原理篇
- 42|他山之石:etcd架构之美
- 43|分布式协调:etcd读写、MVCC原理与监听机制
- 44|一个程序多种功能:构建子命令与flags
- 45|Master高可用:怎样借助etcd实现服务选主?
- 46|Master任务调度:服务发现与资源管理
- 47|故障容错:如何在Worker崩溃时进行重新调度?
- 48 | 完善核心能力:Master请求转发与Worker资源管理
- 49 | 服务治理:如何进行限流、熔断与认证?
特别放送
- 特别放送|Go泛型:用法、原理与最佳实践
- 特别放送|回头看:如何更好地组织代码?
- 结束语|登高望远,迈向新的高峰
- 期末测试 | 来赴一场满分之约吧~
部署篇
- 50|不可阻挡的容器化:Docker核心技术与原理
- 51 | 多容器部署:如何利用 Docker Compose快速搭建本地爬虫环境?
- 52 | 容器海洋中的舵手:Kubernetes工作机制
- 53|容器化实战:怎样搭建K8s爬虫集群?