-
内容大纲
本书循序渐进、由浅入深地讲解了Go语言微服务开发的核心知识,并通过具体实例的实现过程演练了开发Go语言微服务程序的方法和流程。全书讲解了微服务架构概述,服务注册与发现,分布式配置中心,日志记录与监控,容器化与部署,消息传递与异步通信,远程过程调用等内容。本书内容简洁、全面,且不失其技术深度,书中以简练的文字介绍了复杂的案例,方便读者学习使用。
本书适用于已经了解了Go语言基础语法,并想进一步学Go Web开发、Go语言微服务开发、Go语言项目架构的读者,还可以作为高等院校相关专业的师生用书和培训机构的培训教材。 -
作者介绍
-
目录
第1章 微服务架构概述
1.1 微服务基础
1.1.1 发展背景
1.1.2 微服务架构与传统架构的区别
1.1.3 微服务架构的优势
1.1.4 云计算
1.1.5 云原生
1.2 微服务的设计原则
1.3 常用微服务开发语言
1.3.1 Java微服务和Spring Cloud
1.3.2 Go语言
1.3.3 Python语言
第2章 服务注册与发现
2.1 服务注册与发现的基本概念
2.1.1 服务注册与发现的基本原理
2.1.2 常见的服务发现模式
2.2 服务注册与发现工具
2.2.1 基于DNS的服务发现工具
2.2.2 专用的服务注册与发现工具
2.3 实现微服务架构中的服务注册与发现
2.3.1 使用服务注册与发现库
2.3.2 与容器编排工具的集成
2.3.3 ZooKeeper客户端库
第3章 分布式配置中心
3.1 配置管理的问题和挑战
3.2 分布式配置中心的基本概念
3.2.1 配置中心的基本架构
3.2.2 配置的存储方式和获取方式
3.3 常见的分布式配置中心工具
3.3.1 ZooKeeper
3.3.2 Consul
3.3.3 Etcd
3.4 在微服务架构中使用分布式配置中心
3.4.1 配置中心的集成方式
3.4.2 动态刷新配置实战
3.4.3 配置热更新实战
第4章 日志记录与监控
4.1 日志记录的基本概念
4.1.1 日志级别和日志格式
4.1.2 日志记录框架和库
4.1.3 日志聚合和分析工具
4.2 监控的基本概念
4.2.1 健康检查和指标收集
4.2.2 实时监控和告警
4.2.3 分布式跟踪和性能监控
4.2.4 常用的监控工具
4.3 在微服务架构中实现日志记录和监控实践
4.3.1 集中式日志记录实战
4.3.2 分布式追踪实战
4.3.3 监控指标的收集和展示实战
第5章 容器化与部署
5.1 容器化的概念和优势
5.1.1 容器化的原理
5.1.2 容器化的优势
5.2 常用的容器化技术
5.2.1 Docker
5.2.2 Kubernetes
5.2.3 Apache Mesos
5.2.4 Amazon ECS
5.3 构建容器镜像
5.3.1 Dockerfile的使用和最佳实践
5.3.2 镜像仓库和版本管理
5.4 容器编排与部署
5.4.1 常用的容器编排与部署工具
5.4.2 使用YAML进行配置与部署
5.5 容器监控和调度
5.5.1 容器监控指标的收集和展示
5.5.2 水平扩展和自动调度
5.5.3 容器网络和服务发现
第6章 消息传递与异步通信
6.1 消息传递的基本概念
6.2 消息传递的编解码和协议
6.3 异步通信的基本概念
6.4 常用的消息传递中间件
6.4.1 Apache Kafka
6.4.2 RabbitMQ
6.4.3 Apache ActiveMQ
6.4.4 NATS
6.5 异步通信模式
6.5.1 异步通信模式的常见形式
6.5.2 发布/订阅模式
6.5.3 请求/响应模式
6.6 微服务消息传递和异步通信实战
6.6.1 系统配置
6.6.2 消息处理
6.6.3 入口文件
第7章 远程过程调用
7.1 远程过程调用的概念和原理
7.1.1 远程过程调用的基本工作流程
7.1.2 远程对象和远程方法调用
7.1.3 常见的RPC框架和协议
7.2 RPC的序列化和传输
7.2.1 序列化和反序列化的概念
7.2.2 常用的序列化协议
7.3 在微服务架构中使用RPC
7.3.1 Go语言原生RPC实战
7.3.2 gRPC高性能远程过程调用实战
7.3.3 使用Go-kit实现RPC实战
第8章 构建RESTful API
8.1 RESTful API介绍
8.1.1 REST的基本概念
8.1.2 RESTful架构的优点和约束
8.2 设计RESTful API
8.2.1 资源的定义和命名
8.2.2 HTTP方法和状态码的使用
8.2.3 请求和响应的数据格式
8.3 数据验证和输入校验
8.4 RESTful API的版本控制
8.4.1 版本控制的需求和策略
8.4.2 URI和请求头的版本控制
8.4.3 URL重写和命名空间
8.5 RESTful API实战:云原生图书管理系统
8.5.1 系统配置
8.5.2 数据库迁移
8.5.3 实现RESTful API
8.5.4 验证处理
8.5.5 总结
第9章 统一认证与授权
9.1 认证与授权的基本概念
9.1.1 认证的定义和作用
9.1.2 授权的定义和作用
9.1.3 认证与授权的关系和流程
9.1.4 常见的身份认证协议与技术
9.2 统一认证的架构与实现
9.2.1 单点登录
9.2.2 统一认证的架构和组件
9.2.3 用户身份管理和存储
9.3 授权与权限管理
9.3.1 授权模型
9.3.2 授权策略
9.4 在微服务架构中使用统一认证与授权
9.4.1 微服务单点登录实战
9.4.2 微服务OAuth 2.0认证实战
第10章 数据库访问与ORM
10.1 数据访问层
10.1.1 数据访问层的职责和重要性
10.1.2 数据访问层的设计原则
10.2 ORM基础
10.2.1 关系映射
10.2.2 ORM的定义和作用
10.3 常见的Go语言ORM框架
10.3.1 GORM
10.3.2 XORM
10.3.3 SQLBoiler
10.3.4 Gorp
第11章 事件驱动架构
11.1 事件驱动架构的基本概念
11.1.1 事件驱动架构的定义和特点
11.1.2 事件与事件流
11.2 事件发布与订阅模式
11.2.1 发布者—订阅者模式
11.2.2 事件通道和消息代理
11.2.3 基于主题的订阅和过滤
11.3 事件溯源和CQRS模式
11.3.1 事件溯源的概念
11.3.2 事件存储和事件日志
11.3.3 命令查询职责分离
11.4 事件驱动的微服务架构
11.4.1 事件驱动与微服务的关系
11.4.2 事件驱动架构的组件和通信模式
11.5 Go语言微服务事件驱动架构实战
11.5.1 项目介绍
11.5.2 技术栈
11.5.3 具体实现
11.5.4 总结
第12章 容错处理与负载均衡
12.1 容错处理的基本概念
12.1.1 微服务的容错处理策略和技术
12.1.2 常用的容错处理工具
12.2 微服务的负载均衡
12.2.1 负载均衡的作用
12.2.2 负载均衡原理和算法
12.2.3 常用的负载均衡器和工具
12.3 服务注册与服务发现
12.3.1 服务注册的概念和流程
12.3.2 服务发现的原理和机制
12.3.3 常用的服务注册与发现工具
12.4 容器编排与弹性伸缩
12.4.1 容器编排的概念和作用
12.4.2 弹性伸缩的原理和策略
12.4.3 常用的容器编排工具和平台
第13章 服务网关与API管理
13.1 服务网关基础
13.1.1 服务网关的定义和角色
13.1.2 服务网关与微服务架构的关系
13.1.3 常用的服务网关框架和工具
13.2 API管理与开放平台
13.2.1 API管理与开放平台相关概念
13.2.2 API设计和文档管理
13.2.3 API授权与访问控制
13.3 服务发现与动态路由
13.3.1 服务发现的概念和实现
13.3.2 动态路由的实现和配置
13.3.3 服务注册与发现的工具和框架
13.4 安全与监控
13.4.1 服务网关的安全机制
13.4.2 API的安全性与防护措施
13.4.3 服务网关的监控与日志管理
13.5 性能优化与缓存
13.5.1 服务网关的性能瓶颈
13.5.2 缓存策略与机制
13.5.3 CDN与内容分发
13.6 服务网关与API管理实战
13.6.1 项目功能
13.6.2 核心代码
13.6.3 使用框架
第14章 DevOps与持续交付
14.1 DevOps概述
14.1.1 DevOps的原则
14.1.2 DevOps的核心价值和优势
14.2 DevOps工具与技术
14.2.1 持续集成与持续交付工具
14.2.2 配置管理与自动化工具
14.3 DevOps实践与流程
14.3.1 持续集成与持续交付流程
14.3.2 基础设施即代码和自动化测试
14.3.3 监控和日志管理
14.4 DevOps与云计算
14.4.1 云原生应用开发与部署
14.4.2 云平台的弹性和自动化特性
14.4.3 DevOps在多云环境中的挑战与解决方案
14.5 DevSecOps和持续安全
14.5.1 安全文化和安全自动化
14.5.2 安全测试和漏洞修复
14.5.3 安全监控和响应机制
14.6 持续交付与业务价值
14.6.1 快速交付和敏捷创新
14.6.2 用户反馈和持续改进
14.6.3 DevOps对组织和团队的影响
14.7 基于DevOps环境的Go语言微服务实战
14.7.1 项目设置和版本控制
14.7.2 自动化构建
14.7.3 持续集成
14.7.4 自动化测试
14.7.5 容器化
14.7.6 持续交付
14.7.7 环境管理
14.7.8 部署自动化
14.7.9 监控和日志
14.7.10 持续改进
第15章 高并发在线聊天室系统
15.1 背景介绍
15.2 系统分析
15.2.1 需求分析
15.2.2 系统设计
15.2.3 系统模块架构分析
15.3 系统配置文件
15.3.1 读取配置文件
15.3.2 实现系统配置文件
15.4 数据库设计
15.4.1 数据库表设计
15.4.2 数据库连接
15.4.3 model层
15.5 具体实现
15.5.1 URL路由
15.5.2 中间件层
15.5.3 Service业务层
15.5.4 Controller层
15.6 调试运行
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...