Go微服务实战

Go微服务实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-03
版次: 1
ISBN: 9787111674122
定价: 89.00
装帧: 其他
开本: 16开
纸张: 胶版纸
字数: 326千字
13人买过
  • 全书共分21章。分为四篇进行介绍:语言基础篇、语言进阶篇、微服务知识篇、微服务实战篇。
      第 一篇包括6章:Go程序基础、基本数据类型、字符串及复合数据类型、函数、方法、接口及反射、并发。通过本篇的开发,可以让不是很熟悉Go语言的工程师掌握语法基础。
      第二篇包括3章:Go Web编程、并发编程模式、分布式系统。通过本篇的学习可以让读者了解使用Go语言如何进行Web开发、Go并发模式如何设计、分布式系统使用Go如何设计。
      第三篇包括5章:微服务介绍、Linux基础、Docker、Kubernetes、Go常用微服务框架。本篇是用Go进行微服务开发的基本知识储备,知识面教光,避免读者查阅多本资料,整篇学习完就可以达到微服务开发的技能入门水平。
      第四篇包括7章:生产环境Docker及Kubernetes安装、基于Docker及Goland的开发测试环境搭建、测试驱动开发和IM系统核心功能的微服务化、持续化交付、事件驱动架构、日志和监控、安全。本篇是微服务实战,以IM系统为例,从系统安装、如何测试、如何迭代、如何运维都进行了介绍。 前言

    第一部分 Go语言基础

    第1章 Go语言程序基础2

    1.1 Hello,World!2

    1.2 变量、指针及赋值5

    1.2.1 变量和常量5

    1.2.2 指针8

    1.2.3 赋值9

    1.3 包及作用域10

    1.4 选择和循环12

    1.5 垃圾回收13

    1.6 小结15

    第2章 基本数据类型16

    2.1 整型17

    2.1.1 整型取值范围17

    2.1.2 运算符18

    2.2 浮点型19

    2.3 复数和布尔类型21

    2.4 格式化说明符22

    2.5 小结22

    第3章 字符串与复合数据类型23

    3.1 字符串和数组23

    3.1.1 字符串24

    3.1.2 数组26

    3.2 slice27

    3.2.1 结构定义27

    3.2.2 基本操作28

    3.2.3 append30

    3.2.4 copy31

    3.2.5 其他32

    3.3 map33

    3.3.1 定义33

    3.3.2 基本操作33

    3.4 struct35

    3.4.1 结构定义36

    3.4.2 基本操作37

    3.4.3 组合38

    3.5 JSON40

    3.6 小结40

    第4章 函数、方法、接口和反射41

    4.1 函数41

    4.1.1 函数的定义41

    4.1.2 闭包42

    4.1.3 作用域43

    4.1.4 多返回值及变长参数45

    4.1.5 defer关键字46

    4.2 方法46

    4.3 接口50

    4.4 反射54

    4.5 小结57

    第5章 并发编程59

    5.1 协程59

    5.1.1 核心概念60

    5.1.2 goroutine的基本使用60

    5.1.3 sync.WaitGroup62

    5.2 通道64

    5.2.1 channel写入数据64

    5.2.2 channel接收数据65

    5.2.3 以channel作为函数参数66

    5.2.4 缓存channel67

    5.2.5 select70

    5.2.6 超时检查71

    5.3 pipeline74

    5.4 小结76

    第6章 包和代码测试77

    6.1 包及Go工具77

    6.1.1 包导入78

    6.1.2 Go工具79

    6.2 代码优化84

    6.2.1 Go代码的优化84

    6.2.2 性能分析84

    6.3 测试90

    6.3.1 功能测试函数91

    6.3.2 基准测试函数93

    6.3.3 示例函数96

    6.4 小结98

    第7章 综合实战案例99

    7.1 案例需求99

    7.2 通信协议100

    7.3 服务器端104

    7.4 客户端109

    7.5 小结116

    第二部分 Go语言进阶

    第8章 并发编程进阶118

    8.1 竞态与并发模式118

    8.1.1 数据竞态118

    8.1.2 并发原理123

    8.2 sync包126

    8.2.1 sync.Mutex互斥锁126

    8.2.2 sync.RWMutex多读写锁128

    8.2.3 sync.Once130

    8.2.4 sync.Cond131

    8.2.5 sync.Pool134

    8.2.6 sync.Map136

    8.3 context包138

    8.3.1 应用场景138

    8.3.2 定义139

    8.3.3 继承141

    8.3.4 示例142

    8.4 工作池145

    8.5 小结151

    第9章 Go Web编程152

    9.1 net/http包152

    9.1.1 Go Web工作的基本原理152

    9.1.2 http详解156

    9.2 Web框架162

    9.2.1 选择框架162

    9.2.2 httprouter框架163

    9.3 Web底层服务165

    9.3.1 Scoket简介165

    9.3.2 TCP Socket166

    9.3.3 UDP Socket169

    9.3.4 WebSocket171

    9.4 中间件174

    9.4.1 基本用法174

    9.4.2 进阶用法176

    9.5 数据库访问179

    9.5.1 database/sql接口180

    9.5.2 sqlx182

    9.6 小结183

    第10章 综合案例184

    10.1 案例需求184

    10.2 项目代码布局186

    10.3 配置和日志187

    10.3.1 配置188

    10.3.2 日志190

    10.4 模型191

    10.5 gin框架193

    10.6 小结196

    第三部分 微服务理论

    第11章 微服务198

    11.1 微服务简介198

    11.1.1 什么是微服务198

    11.1.2 微服务的由来198

    11.1.3 微服务与微服务架构199

    11.2 系统架构的演进199

    11.2.1 单体架构200

    11.2.2 垂直架构201

    11.2.3 SOA201

    11.2.4 微服务架构202

    11.3 小结205

    第12章 微服务化策略206

    12.1 微服务架构风格206

    12.1.1 每个服务都拥有独立的数据库206

    12.1.2 基于API的模块化207

    12.2 微服务化进程中的重点问题207

    12.2.1 微服务的通信207

    12.2.2 事务管理的一致性208

    12.2.3 微服务数据查询208

    12.2.4 微服务部署208

    12.2.5 微服务生产环境监控209

    12.2.6 微服务的自动化测试209

    12.3 微服务的拆分209

    12.3.1 拆分的指导原则210

    12.3.2 依据业务能力拆分210

    12.3.3 依据领域驱动设计拆分211

    12.3.4 服务API的定义213

    12.4 小结214

    第13章 微服务中的进程间通信215

    13.1 微服务中的进程间通信概述215

    13.1.1 交互模式215

    13.1.2 API定义217

    13.2 protobuf格式217

    13.2.1 protobuf简介217

    13.2.2 protobuf的简单使用217

    13.3 gRPC包219

    13.3.1 net/rpc包219

    13.3.2 
  • 内容简介:
    全书共分21章。分为四篇进行介绍:语言基础篇、语言进阶篇、微服务知识篇、微服务实战篇。
      第 一篇包括6章:Go程序基础、基本数据类型、字符串及复合数据类型、函数、方法、接口及反射、并发。通过本篇的开发,可以让不是很熟悉Go语言的工程师掌握语法基础。
      第二篇包括3章:Go Web编程、并发编程模式、分布式系统。通过本篇的学习可以让读者了解使用Go语言如何进行Web开发、Go并发模式如何设计、分布式系统使用Go如何设计。
      第三篇包括5章:微服务介绍、Linux基础、Docker、Kubernetes、Go常用微服务框架。本篇是用Go进行微服务开发的基本知识储备,知识面教光,避免读者查阅多本资料,整篇学习完就可以达到微服务开发的技能入门水平。
      第四篇包括7章:生产环境Docker及Kubernetes安装、基于Docker及Goland的开发测试环境搭建、测试驱动开发和IM系统核心功能的微服务化、持续化交付、事件驱动架构、日志和监控、安全。本篇是微服务实战,以IM系统为例,从系统安装、如何测试、如何迭代、如何运维都进行了介绍。
  • 目录:
    前言

    第一部分 Go语言基础

    第1章 Go语言程序基础2

    1.1 Hello,World!2

    1.2 变量、指针及赋值5

    1.2.1 变量和常量5

    1.2.2 指针8

    1.2.3 赋值9

    1.3 包及作用域10

    1.4 选择和循环12

    1.5 垃圾回收13

    1.6 小结15

    第2章 基本数据类型16

    2.1 整型17

    2.1.1 整型取值范围17

    2.1.2 运算符18

    2.2 浮点型19

    2.3 复数和布尔类型21

    2.4 格式化说明符22

    2.5 小结22

    第3章 字符串与复合数据类型23

    3.1 字符串和数组23

    3.1.1 字符串24

    3.1.2 数组26

    3.2 slice27

    3.2.1 结构定义27

    3.2.2 基本操作28

    3.2.3 append30

    3.2.4 copy31

    3.2.5 其他32

    3.3 map33

    3.3.1 定义33

    3.3.2 基本操作33

    3.4 struct35

    3.4.1 结构定义36

    3.4.2 基本操作37

    3.4.3 组合38

    3.5 JSON40

    3.6 小结40

    第4章 函数、方法、接口和反射41

    4.1 函数41

    4.1.1 函数的定义41

    4.1.2 闭包42

    4.1.3 作用域43

    4.1.4 多返回值及变长参数45

    4.1.5 defer关键字46

    4.2 方法46

    4.3 接口50

    4.4 反射54

    4.5 小结57

    第5章 并发编程59

    5.1 协程59

    5.1.1 核心概念60

    5.1.2 goroutine的基本使用60

    5.1.3 sync.WaitGroup62

    5.2 通道64

    5.2.1 channel写入数据64

    5.2.2 channel接收数据65

    5.2.3 以channel作为函数参数66

    5.2.4 缓存channel67

    5.2.5 select70

    5.2.6 超时检查71

    5.3 pipeline74

    5.4 小结76

    第6章 包和代码测试77

    6.1 包及Go工具77

    6.1.1 包导入78

    6.1.2 Go工具79

    6.2 代码优化84

    6.2.1 Go代码的优化84

    6.2.2 性能分析84

    6.3 测试90

    6.3.1 功能测试函数91

    6.3.2 基准测试函数93

    6.3.3 示例函数96

    6.4 小结98

    第7章 综合实战案例99

    7.1 案例需求99

    7.2 通信协议100

    7.3 服务器端104

    7.4 客户端109

    7.5 小结116

    第二部分 Go语言进阶

    第8章 并发编程进阶118

    8.1 竞态与并发模式118

    8.1.1 数据竞态118

    8.1.2 并发原理123

    8.2 sync包126

    8.2.1 sync.Mutex互斥锁126

    8.2.2 sync.RWMutex多读写锁128

    8.2.3 sync.Once130

    8.2.4 sync.Cond131

    8.2.5 sync.Pool134

    8.2.6 sync.Map136

    8.3 context包138

    8.3.1 应用场景138

    8.3.2 定义139

    8.3.3 继承141

    8.3.4 示例142

    8.4 工作池145

    8.5 小结151

    第9章 Go Web编程152

    9.1 net/http包152

    9.1.1 Go Web工作的基本原理152

    9.1.2 http详解156

    9.2 Web框架162

    9.2.1 选择框架162

    9.2.2 httprouter框架163

    9.3 Web底层服务165

    9.3.1 Scoket简介165

    9.3.2 TCP Socket166

    9.3.3 UDP Socket169

    9.3.4 WebSocket171

    9.4 中间件174

    9.4.1 基本用法174

    9.4.2 进阶用法176

    9.5 数据库访问179

    9.5.1 database/sql接口180

    9.5.2 sqlx182

    9.6 小结183

    第10章 综合案例184

    10.1 案例需求184

    10.2 项目代码布局186

    10.3 配置和日志187

    10.3.1 配置188

    10.3.2 日志190

    10.4 模型191

    10.5 gin框架193

    10.6 小结196

    第三部分 微服务理论

    第11章 微服务198

    11.1 微服务简介198

    11.1.1 什么是微服务198

    11.1.2 微服务的由来198

    11.1.3 微服务与微服务架构199

    11.2 系统架构的演进199

    11.2.1 单体架构200

    11.2.2 垂直架构201

    11.2.3 SOA201

    11.2.4 微服务架构202

    11.3 小结205

    第12章 微服务化策略206

    12.1 微服务架构风格206

    12.1.1 每个服务都拥有独立的数据库206

    12.1.2 基于API的模块化207

    12.2 微服务化进程中的重点问题207

    12.2.1 微服务的通信207

    12.2.2 事务管理的一致性208

    12.2.3 微服务数据查询208

    12.2.4 微服务部署208

    12.2.5 微服务生产环境监控209

    12.2.6 微服务的自动化测试209

    12.3 微服务的拆分209

    12.3.1 拆分的指导原则210

    12.3.2 依据业务能力拆分210

    12.3.3 依据领域驱动设计拆分211

    12.3.4 服务API的定义213

    12.4 小结214

    第13章 微服务中的进程间通信215

    13.1 微服务中的进程间通信概述215

    13.1.1 交互模式215

    13.1.2 API定义217

    13.2 protobuf格式217

    13.2.1 protobuf简介217

    13.2.2 protobuf的简单使用217

    13.3 gRPC包219

    13.3.1 net/rpc包219

    13.3.2 
查看详情
相关图书 / 更多
Go微服务实战
Go专家编程(第2版)
任洪彩
Go微服务实战
Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用
[澳]阿米特·萨哈(Amit Saha)著 贾玉彬 刘光磊 译;上海碳泽信息科技有限公司 审校
Go微服务实战
Go语言从入门到项目实战(视频版)
刘瑜 萧文翰 董树南 著
Go微服务实战
Go语言从入门到项目实践(超值版)
余建熙
Go微服务实战
Go语言学习指南:惯例模式与编程实践
乔恩·博德纳(Jon Bodner)
Go微服务实战
Go语言程序设计-微课视频版
肖建良;赵文丽
Go微服务实战
Go程序员面试笔试宝典
饶全成 欧长坤 楚秦等编著 猿媛之家 组编
Go微服务实战
Go语言程序设计项目化教程(微课版)
谭旭;史律;钟祥永
Go微服务实战
Go程序开发实战宝典
穆旭东 谭庆丰 楚秦 编著;猿媛之家 组编
Go微服务实战
Go语言与区块链开发(计算机类普通高等教育双一流课程系列教材)
冯柳平、陈澜祯、袁贵春、卢婷婷 编
Go微服务实战
Go语言Hyperledger区块链开发实战
李晓黎
Go微服务实战
Go语言设计模式(双色版)
廖显东
您可能感兴趣 / 更多
Go微服务实战
Odoo快速入门与实战:Python开发ERP指南
刘金亮 著
Go微服务实战
鳴法体系校释
刘金亮 注;[清]龙伏山人撰;郑 同校
Go微服务实战
焦氏易林探秘
刘金亮、王力军 著