随着互联网和软件的大型化、复杂化,研发团队的规模越来越大,运维和研发人员的工作交集越来越多,软件的迭代速度也越来越快。在这个大前提下,微服务模式在大型项目中开始风靡。Go语言因其简洁的语法、高效的开发效率和优秀的性能等诸多天然优势广泛应用于互联网公司。越来越多的高并发应用使用Go语言进行开发。本书以实践的角度全方位介绍如何通过Go语言实现微服务模式。

【本书的主要内容和特色】

面向所有工程师,即便是没有Go语言基础的Java、PHP、Python工程师也可以直接上手使用,书中对Go语言进行了全面精炼的介绍。“给小白的Go语言微服务实战书籍”是本书贯穿始终的写作目的,书中代码注释详细、理论解释形象。

对于微服务模式,书中并未直接给出框架,而是从理论层面入手进行了探讨,让读者“知其然,知其所以然”。

包含大量案例,对于重要的内容都给出了案例及相关分析,且每一部分都有一个案例从0开始分析、构建,指导读者从使用的角度去思考如何活学活用,并在GitHub上提供了可运行的完整代码。

本书自始至终都围绕Go语言、微服务和实战这三大特色,全书从Go语言的基础引入,到Go语言的进阶、微服务的理论,再到最后的微服务实战,都给出了技术实现和实例代码,让有编程基础的读者可以深入浅出地学习和实践。

本书针对Go语言进行微服务开发做了全面细致的介绍,书中内容包括四大部分。

第一部分为Go语言基础(第1~7章),包括Go语言基础语法、Go语言基本特性和Go语言实战项目等内容。

第二部分为Go语言进阶(第8~10章),主要介绍Go语言的并发编程进阶、Go语言Web编程以及综合实战。

第三部分为微服务理论(第11~18章),包括微服务模式的理论基础、微服务的进程间通信、微服务的分布式事务管理、领域驱动设计(DDD)、微服务测试、Docker及ES-CQRS策略。其中,微服务进程间通信重点介绍了gRPC,ES-CQRS策略部分给出了Go语言的实现。

第四部分为微服务实战(第19~22章),这一部分通过实战项目讲解了微服务的生产环境、日志和监控、持续部署等内容。

书中每一部分都提供了示例代码或实战项目,供读者边学习边动手实践,尽量做到让有Go语言基础的人尽快了解、掌握微服务模式。