内容推荐 本书是颇具创新性的Go语言实战指南,巧妙地将理论知识与实践案例串联起来,为读者搭建了一套完整的知识体系和方法论。本书以爬虫项目为基础,全面阐述了Go语言在网络服务开发中的卓越性能,并深入探讨了如何利用Go语言打造高并发的爬虫系统、高性能的分布式系统,以及可扩展的领域驱动的微服务系统。本书有助于Go语言开发者根据编码规范,编写出简洁、高效、健壮且易于扩展的代码。同时,本书可以作为高等院校计算机和软件工程等相关专业师生的参考资料。 作者简介 郑建勋,Golang contributor(Go语言垃圾回收模块代码贡献者)、Go语言精度库shopspring/decimal核心贡献者。滴滴高级研发工程师。拥有丰富的分布式、高并发、大规模微服务集群的开发设计经验。 微信公众号“gopher梦工厂”作者,知名Go语言内容原创博主,51CTO学堂高级讲师,极客时间“每日一课”讲师。有丰富的教育经验,能够想读者之所想。相信这部系统且深入浅出的作品,会是读者打怪升级的绝佳辅助资料。 目录 第1篇 项目准备 1 基础知识:磨刀不误砍柴工 1.1 Go语言的历史与设计理念 1.1.1 Go语言的“祖先” 1.1.2 Go的特性 1.2 开发环境 1.3 基础语法 1.4 语法特性 1.5 并发编程 1.6 项目组织与依赖管理 1.7 工具与库 1.8 总结 2 大型项目的开发模式与流程 2.1 开发模式 2.1.1 瀑布模式 2.1.2 敏捷开发 2.1.3 其他开发模式 2.2 开发流程 2.2.1 需求阶段 2.2.2 设计阶段 2.2.3 研发实现阶段 2.2.4 联调测试阶段 2.2.5 上线部署阶段 2.2.6 运维阶段 2.2.7 运营阶段 2.3 总结 第2篇 项目设计 3 冰川之下:深入Go高并发网络模型 3.1 网络的基本概念 3.1.1 阻塞与非阻塞 3.1.2 文件描述符与Socket 3.1.3 I/O模型 3.2 Go语言网络模型 3.2.1 协程调度 3.2.2 同步编程模式 3.2.3 非阻塞I/O 3.2.4 I/O多路复用 3.3 总结 4 高性能设计:自顶向下的高性能Go语言程序设计与优化 4.1 系统级别 4.2 程序设计和组织级别 4.3 代码实施级别 4.3.1 合理的代码 4.3.2 刻意的优化 4.3.3 冒险的尝试 4.4 操作系统级别 4.5 硬件级别 4.6 总结 5 微服务探索:深度解析架构演进与治理实践 5.1 微服务架构演进 5.1.1 单体服务与微服务 5.1.2 微服务的优点 5.1.3 微服务的缺点 5.1.4 微服务的边界 5.1.5 微服务的通信 …… 第3篇 Worker开发 第4篇 测试与分析 第5篇 分布式Master开发 第6篇 部署运维 第7篇 意犹未尽 |