萌萌哒图书专营店
  • 扫码下单

  • 全新Go微服务实战刘金亮9787111674122
  • 正版
    • 作者: 刘金亮著 | 刘金亮编 | 刘金亮译 | 刘金亮绘
    • 出版社: 机械工业出版社
    • 出版时间:2021-02-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    店铺装修中

    商家:
    萌萌哒图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    萌萌哒图书专营店

  • 商品参数
    • 作者: 刘金亮著| 刘金亮编| 刘金亮译| 刘金亮绘
    • 出版社:机械工业出版社
    • 出版时间:2021-02-01
    • 版次:1
    • 印次:1
    • 印刷时间:2021-02-01
    • 页数:396
    • 开本:16开
    • ISBN:9787111674122
    • 版权提供:机械工业出版社
    • 作者:刘金亮
    • 著:刘金亮
    • 装帧:平装
    • 印次:1
    • 定价:89.00
    • ISBN:9787111674122
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:2021-02-01
    • 语种:暂无
    • 出版时间:2021-02-01
    • 页数:396
    • 外部编号:1202302018
    • 版次:1
    • 成品尺寸:暂无

    前言

    部分 Go语言基础

    章 Go语言程序基础 2

    1.1 Hello,World! 2

    1.2 变量、指针及赋值 5

    1.2.1 变量和常量 5

    1.2.2 指针 8

    1.. 赋值 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

    . 复数和布尔类型 21

    2.4 格式化说明符 22

    2.5 小结 22

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

    3.1 字符串和数组

    3.1.1 字符串 24

    3.1.2 数组 26

    3.2 slice 27

    3.2.1 结构定义 27

    3.2.2 基本操作 28

    3.. append 30

    3.2.4 copy 31

    3.2.5 32

    3.3 map 33

    3.3.1 定义 33

    3.3.2 基本操作 33

    3.4 struct 35

    3.4.1 结构定义 36

    3.4.2 基本操作 37

    3.4.3 组合 38

    3.5 JSON 40

    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.WaitGroup 62

    5.2 通道 64

    5.2.1 channel写入数据 64

    5.2.2 channel接收数据 65

    5.. 以channel作为函数参数 66

    5.2.4 缓存channel 67

    5.2.5 select 70

    5.2.6 超时检查 71

    5.3 pipeline 74

    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 并发原理 1

    8.2 sync包 126

    8.2.1 sync.Mutex互斥锁 126

    8.2.2 sync.RWMutex多读写锁 128

    8.. sync.Once 130

    8.2.4 sync.Cond 131

    8.2.5 sync.Pol 34

    8.2.6 sync.Map 136

    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 Socket 166

    9.3.3 UDP Socket 169

    9.3.4 WebSocket 171

    9.4 中间件 174

    9.4.1 基本用法 174

    9.4.2 进阶用法 176

    9.5 数据库访问 179

    9.5.1 database/sql接口 180

    9.5.2 sqlx 182

    9.6 小结 183

    0章 综合案例 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

    第三部分 微服务理论

    1章 微服务 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.. SOA 201

    11.2.4 微服务架构 202

    11.3 小结 205

    2章 微服务化策略 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.. 微服务数据查询 208

    12.2.4 微服务部署 208

    12.2.5 微服务生产环境监控 209

    12.2.6 微服务的自动化测试 209

    1. 微服务的拆分 209

    1..1 拆分的指导原则 210

    1..2 依据业务能力拆分 210

    1.. 依据领域驱动设计拆分 211

    1..4 服务API的定义 213

    12.4 小结 214

    3章 微服务中的进程间通信 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 gRPC简介 221

    13.3.3 Go语言实现gRPC调用 222

    13.4 微服务发现:consul 224

    13.5 小结 226

    4章 微服务中的分布式事务管理 227

    14.1 微服务下的事务管理 227

    14.1.1 面临的难题 227

    14.1.2 SRP的折衷 228

    14.2 微服务中处理事务的几种方式 229

    14.2.1 避免跨微服务的事务 229

    14.2.2 基于XA协议的两阶段提交协议 229

    14.. 一致和补偿 1

    14.3 Saga模式 4

    14.3.1 Saga模式介绍 4

    14.3.2 编排模式 5

    14.3.3 编配模式

    14.4 Saga模式的Go语言示例

    14.4.1 Saga对象的Go语言实现

    14.4.2 中央协调器的Go语言实现

    14.5 小结 243

    5章 领域驱动设计的Go语言实现 244

    15.1 聚合模式介绍 244

    15.2 使用聚合模式 247

    15.2.1 聚合拥有明确的边界 247

    15.2.2 聚合的规则 248

    15.. 聚合颗粒度 250

    15.2.4 使用聚合设计业务逻辑 250

    15.3 领域事件 251

    15.4 Go语言领域模型的模拟实现 252

    15.4.1 聚合 253

    15.4.2 实体和值对象 253

    15.4.3 服务 255

    15.5 小结 257

    6章 微服务中的测试 258

    16.1 测试金字塔 258

    16.2 单元测试 260

    16.3 依赖注入和mock测试 263

    16.4 行为驱动开发 266

    16.5 使用Docker Coe测试 272

    16.6 小结 275

    7章 微服务运行环境:Docker 276

    17.1 Docker介绍 276

    17.1.1 Docker引擎 276

    17.1.2 守护进程 277

    17.1.3 镜像及容器 277

    17.1.4 仓库 278

    17.1.5 数据卷 278

    17.2 运行个Docker容器 279

    17.2.1 Docker安装 279

    17.2.2 HelloWorld程序示例 279

    17.. 运行复杂一点的容器 280

    17.3 Docker数据持久化 282

    17.3.1 数据卷 282

    17.3.2 bind mount 284

    17.4 Docker网络 285

    17.4.1 桥接驱动及自定义bridge 285

    17.4.2 Host模式、Overlay模式及None模式 288

    17.5 小结 289

    8章 Go语言基于ES-CRS的微服务实践 290

    18.1 理论介绍 290

    18.1.1 事件溯源 290

    18.1.2 命令查询职责分离 291

    18.2 ES-CRS在Go语言中的实现示例 292

    18.2.1 需求 293

    18.2.2 分析与设计 293

    18.. 核心实现 296

    18.3 小结 299

    第四部分 微服务实战

    9章 生产环境的微服务安全 302

    19.1 加密和签名 302

    19.1.1 对称密钥加密 302

    19.1.2 公钥密码 303

    19.1.3 X.509数字 303

    19.1.4 TLS/SSL 304

    19.2 外部安全 304

    19.2.1 防火墙 304

    19.2.2 页面应用的防火墙 305

    19.. API网关 305

    19.2.4 DDoS保护 306

    19.3 应用安全 307

    19.3.1 攻击者如何绕过防火墙 308

    19.3.2 输入校验 308

    19.3.3 TLS 310

    19.3.4 在rest中进行数据保护 313

    19.3.5 JWT 314

    19.3.6 大消息的非对称加密 315

    19.4 运维安全 316

    19.4.1 修补容器 316

    19.4.2 软件更新 317

    19.4.3 修补应用程序代码 317

    19.4.4 日志 317

    19.5 小结 317

    第20章 日志和监控 318

    20.1 日志实践 319

    20.2 指标 319

    20.2.1 指标数据类型 320

    20.2.2 命名约定 320

    20.. 存储和查询 322

    20.2.4 Grafana 3

    20.3 日志记录 326

    20.3.1 具有关联的分布式跟踪 326

    20.3.2 ElasticSearch、Logstash和Kibana 327

    20.3.3 Kibana 328

    20.4 异常 330

    20.5 小结 332

    2章 持续交付 333

    21.1 持续交付简介 333

    21.1.1 手动部署 334

    21.1.2 持续交付的好处 334

    21.1.3 持续交付面面观 335

    21.1.4 持续交付的过程 337

    21.2 容器编排的选项和基础架构 338

    21.3 Terraform 339

    21.3.1 提供者 340

    21.3.2 Terraform配置入口点 341

    21.3.3 VPC模块 342

    21.3.4 输出变量 346

    21.3.5 创建基础架构 348

    21.4 应用范例 348

    21.4.1 持续部署的工作流程 349

    21.4.2 构建 352

    21.4.3 测试 353

    21.4.4 基准测试 354

    21.4.5 静态代码测试 354

    21.4.6 集成测试 355

    21.4.7 部署 356

    21.4.8 冒烟测试 357

    21.4.9 监控和预警 357

    21.5 小结 359

    第22章 使用Go kit框架构建微服务 360

    22.1 创建服务 361

    22.1.1 测试 361

    22.1.2 Go语言中的构造函数 362

    22.1.3 使用bcrypt进行Hash处理并验密码 363

    22.2 使用请求和响应对方法调用进行建模 364

    22.2.1 Go kit中的端点 365

    22.2.2 为服务方法设定终点 366

    22.. 不同级别的错误 366

    22.2.4 将端点包装到服务实现中 367

    2. 使用Go kit实现一个HTTP服务器 368

    22.4 Go kit中的gRPC服务器 368

    22.5 创建服务器命令 371

    22.5.1 使用Go kit端点 373

    22.5.2 运行HTTP服务器 373

    22.5.3 运行gRPC服务器 373

    22.5.4 防止main函数突然终止 374

    22.5.5 通过HTTP使用服务 374

    22.6 构建一个gRPC客户端 375

    22.6.1 使用服务的命令行工具 376

    22.6.2 在CLI中解析参数 377

    22.7 服务中间件的速率限制 378

    22.7.1 Go kit中的中间件 378

    22.7.2 速率限制 380

    22.8 小结 380

    附录 Go语言中的关键字 381


    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购