Go微服务实战

Go微服务实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-03
版次: 1
ISBN: 9787111674122
定价: 89.00
装帧: 其他
开本: 16开
纸张: 胶版纸
字数: 326千字
  • 全书共分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 
查看详情
12
相关图书 / 更多
Go微服务实战
Go语言设计与实现
左书祺(@Draven)
Go微服务实战
Go 语言从基础到中台微服务实战开发
朱著显 郑敦庄 编著
Go微服务实战
Google BigQuery权威指南
[美]瓦利阿帕·拉克什曼南;[美]乔丹·蒂加尼
Go微服务实战
Go语言项目开发上手指南
谢伟
Go微服务实战
Go语言高级开发与实战
廖显东
Go微服务实战
Go语言入门经典/计算机科学与技术丛书
周家安 著
Go微服务实战
Go语言精进之路:从新手到高手的编程思想、方法和技巧 1
白明
Go微服务实战
Go黑帽子 渗透测试编程之道
[美]汤姆·斯蒂尔 (Tom Steele) 克里斯·帕顿(Chris Patten) 丹·科特曼(Dan Kottmann) 著;贾玉彬 朱钱杭 译
Go微服务实战
Google系统架构解密:构建安全可靠的系统(图灵出品)
Blankinship)彼得·莱万多夫斯基(波) 著;[美】 希瑟·阿德金斯【美]贝齐·拜尔(Betsy(Heather,Adkins)【美】贝齐·拜尔()、[美】保罗·布兰肯希普【美]Beyer)保罗·布兰肯希普(Paul、周雨阳、刘志颖 译
Go微服务实战
Go语言底层原理剖析
郑建勋
Go微服务实战
Go语言精进之路:从新手到高手的编程思想、方法和技巧 2
白明
Go微服务实战
Go Web编程实战派——从入门到精通
廖显东
您可能感兴趣 / 更多
Go微服务实战
Odoo快速入门与实战:Python开发ERP指南
刘金亮 著
Go微服务实战
体育与健康教育研究/学术文库
刘金亮、胡新贞 著
Go微服务实战
焦氏易林探秘
刘金亮、王力军 著