Go微服务实战

Go微服务实战

作者:刘金亮

出版社:机械工业

出版年:2021年1月

ISBN:9787111674122

所属分类:网络科技

书刊介绍

《Go微服务实战》内容简介

当今世界,软件的规模越来越大、功能越来越复杂,研发团队的规模也变得越来越大,运维人员和研发人员之间的工作交集越来越多。在这个大前提下,微服务模式在大型项目中开始风靡。
本书对使用Go语言进行微服务开发做了全面细致的介绍,包括微服务的基础知识、微服务的拆分、微服务进程间通信(IPC)、微服务的分布式事务管理、领域驱动设计(DDD)、微服务中的测试、基于ES-CQRS的微服务实践、微服务生产环境和持续交付等。
本书比较全面地对微服务进行了介绍,而且对于每个知识点都给出了技术实现和实例代码,比如微服务进程间通信部分重点介绍了gRPC,ES-CQRS部分则给出了Go语言的具体实现。在介绍完知识点之后,本书给出了一些综合性的案例,比如第10章、第22章等,并通过GitHub提供了完整的可运行的代码,可帮助有基本Go语言语法知识的读者尽快了解、掌握微服务模式。
刘金亮著。

作品目录

前言
第一部分
Go语言基础
第1章:Go语言程序基础
1.1、Hello,World!
1.2、变量、指针及赋值
1.3、包及作用域
1.4、选择和循环
1.5、垃圾回收
1.6、小结
第2章:基本数据类型
2.1、整型
2.2、浮点型
2.3、复数和布尔类型
2.4、格式化说明符
2.5、小结
第3章:字符串与复合数据类型
3.1、字符串和数组
3.2、slice
3.3、map
3.4、struct
3.5、JSON
3.6、小结
第4章:函数、方法、接口和反射
4.1、函数
4.2、方法
4.3、接口
4.4、反射
4.5、小结
第5章:并发编程
5.1、协程
5.2、通道
5.3、pipeline
5.4、小结
第6章:包和代码测试
6.1、包及Go工具
6.2、代码优化
6.3、测试
6.4、小结
第7章:综合实战案例
7.1、案例需求
7.2、通信协议
7.3、服务器端
7.4、客户端
7.5、小结
第二部分
Go语言进阶
第8章:并发编程进阶
8.1、竞态与并发模式
8.2、sync包
8.3、context包
8.4、工作池
8.5、小结
第9章:Go
Web编程
9.1、net/http包
9.2、Web框架
9.3、Web底层服务
9.4、中间件
9.5、数据库访问
9.6、小结
第10章:综合案例
10.1、案例需求
10.2、项目代码布局
10.3、配置和日志
10.4、模型
10.5、gin框架
10.6、小结
第三部分
微服务理论
第11章:微服务
11.1、微服务简介
11.2、系统架构的演进
11.3、小结
第12章:微服务化策略
12.1、微服务架构风格
12.2、微服务化进程中的重点问题
12.3、微服务的拆分
12.4、小结
第13章:微服务中的进程间通信
13.1、微服务中的进程间通信概述
13.2、protobuf格式
13.3、gRPC包
13.4、微服务发现:consul
13.5、小结
第14章:微服务中的分布式事务管理
14.1、微服务下的事务管理
14.2、微服务中处理事务的几种方式
14.3、Saga模式
14.4、Saga模式的Go语言示例
14.5、小结
第15章:领域驱动设计的Go语言实现
15.1、聚合模式介绍
15.2、使用聚合模式
15.3、领域事件
15.4、Go语言领域模型的模拟实现
15.5、小结
第16章:微服务中的测试
16.1、测试金字塔
16.2、单元测试
16.3、依赖注入和mock测试
16.4、行为驱动开发
16.5、使用Docker
Compose测试
16.6、小结
第17章:微服务运行环境:Docker
17.1、Docker介绍
17.2、运行第一个Docker容器
17.3、Docker数据持久化
17.4、Docker网络
17.5、小结
第18章:Go语言基于ES-CQRS的微服务实践
18.1、理论介绍
18.2、ES-CQRS在Go语言中的实现示例
18.3、小结
第四部分
微服务实战
第19章:生产环境的微服务安全
19.1、加密和签名
19.2、外部安全
19.3、应用安全
19.4、运维安全
19.5、小结
第20章:日志和监控
20.1、日志最佳实践
20.2、指标
20.3、日志记录
20.4、异常
20.5、小结
第21章:持续交付
21.1、持续交付简介
21.2、容器编排的选项和基础架构
21.3、Terraform
21.4、应用范例
21.5、小结
第22章:使用Go
kit框架构建微服务
22.1、创建服务
22.2、使用请求和响应对方法调用进行建模
22.3、使用Go
kit实现一个HTTP服务器
22.4、Go
kit中的gRPC服务器
22.5、创建服务器命令
22.6、构建一个gRPC客户端
22.7、服务中间件的速率限制
22.8、小结
附录
Go语言中的关键字

热门书摘

内部的分是指把原来复杂的功能拆分成很多独立的微服务

所谓单体架构就是指一个项目或者一个归档包(jar包或war包等)就完成了项目的所有功能

按照业务的独立性分为了不同的子单体

按照业务能力拆分

相关推荐

微信二维码