Cloud Native Go:构建基于Go和Rea*的云原生Web应用与微服务 (美)pdf下载

Cloud Native Go:构建基于Go和Rea*的云原生Web应用与微服务 (美)百度网盘pdf下载

作者:
简介:Cloud Native Go:构建基于Go和Rea*的云原生Web应用与微服务 (美)
出版社:
出版时间:2017-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

书名:Cloud N*ive Go:构建基于Go和Rea的云原生Web应用与微服务

定价:69.00元

作者:(美)Kevin Hoff*n(凯文·霍夫曼),Dan Neme

出版社:电子工业出版社

出版日期:2017-07-01

ISBN:9787121321092

字数:

页码:

版次:1

装帧:平装-胶订

开本:16开

商品重量:0.4kg

编辑推荐


适读人*:云计算从业人员、Go语言开发人员。

1.云原生是云计算时代的发展趋势和必然结果

《Cloud N*ive Go:构建基于Go和Rea*的云原生Web应用与微服务》通过一个云原生应用项目的构建,为大家介绍了云原生的道与*,引导读者了解云原生理念的产生、应用场景、优势。

2.集现今诸多热点技*之大成

《Cloud N*ive Go:构建基于Go和Rea*的云原生Web应用与微服务》在构建云原生项目时,涉及Docker、持续集成、微服务、DevOps、事件溯源与CQRS等众多备受关注的技*热点,无疑会让读者受益匪浅。

3.Go语言助理云开发*实现

Go语言以其简单优雅、快速安全、支持高并发等特性,成为云计算时代的语言。《Cloud N*ive Go:构建基于Go和Rea*的云原生Web应用与微服务》将带领读者正确认识Go语言,掌握用Go构建应用程序的方法。

4.流程完整,示例具体详细

《Cloud N*ive Go:构建基于Go和Rea*的云原生Web应用与微服务》从搭建平台开始,逐步带领读者开发一个完整的云上项目。其中的每一环节都有详细讲解。示例具有代表性,代码详细,帮助读者轻松掌握云原生开发的关键。

内容提要


本书旨在向开发人员展示如何构建适用于大流量、高并发场景下的云原生Web应用。本书从搭建开发测试环境开始,逐步介绍使用Go语言构建微服务的方法,通过引入CI/CD流程和Wercker、Docker等工具将应用推送到云中。结合微服务构建中的后端服务、数据服务、事件溯源和CQRS模式、基于Rea*和Flux的UI设计等,本书后构建了一个基于Web的RPG游戏World of FluxCraft,可以作为使用Go构建云原生Web应用的参考,适合于云计算与Go语言编程从业者们阅读。

目录


1 云之道1
云之道的优点2
遵循简单2
测试优先,测试一切3
尽早发布,频繁发布5
自动化一切6
建立服务生态系统7
为什么使用Go8
简单8
开源8
易于自动化和IDE自由化8
本章小结9
2 开始11
正确的工具11
配置Git12
安装Homebrew12
安装Git客户端13
安装Mercurial和B*aar13
创建GitHub账户14
创建Go环境14
配置Go工作区14
检查环境15
本章小结16
3 Go入门17
建立Hello cloud18
使用基本函数19
使用结构体22
介绍Go接25
向结构体添加方法25
Go中的接动态类型检查26
使用三方包28
创建自有包30
导出函数和数据31
创建包31
本章小结34
4 持续交付35
Docker介绍36
为什么要使用Docker36
安装Docker36
运行Docker镜像38
与Wercker的持续集成39
持续集成的*佳实践39
为什么使用Wercker40
创建Wercker应用程序41
安装Wercker CLI42
创建Wercker配置文件43
使用Wercker进行构建48
部署到Docker Hub50
读者练习:创建完整的开发管道51
高级挑战:集成三方库53
本章小结53
5 在Go中构建微服务55
设计API Fi*t的服务55
设计*tch API56
创建API Blueprint56
通过Apiary测试和发布文档58
架设微服务59
构建Test Fi*t的服务62
创建*个失败测试63
测试Loc*ion Header66
壮丽的蒙太奇:迭代测试67
在云端部署和运行70
创建PWS账户70
配置PCF开发环境70
提交到Cloud Foundry71
本章小结72
6 运用后端服务75
设计服务系统75
测试优先构建依赖服务77
构建fulfillment服务78
构建c*alog服务81
在服务之间共享结构化数据87
客户端引用服务端包88
客户端复制服务端结构88
客户端与服务端引用共享包89
使用服务捆绑来外部化地址与元数据90
服务发现93
动态服务发现94
Netflix的服务发现系统Eureka94
读者练习97
进阶作97
本章小结98
7 构建数据服务99
构建MongoDB存储库100
为什么选择MongoDB100
更新存储库模型100
通过Go来作MongoDB101
以Test-Fi*t方式编写MongoDB存储库102
集成测试一个Mongo-Backed服务107
集成临时MongoDB数据库108
编写一个集成测试110
在云中运行115
后端服务的配置115
本章小结117
8 事件溯源和CQRS119
现实源自事件120
幂等121
隔离121
可测试122
可再现,可恢复123
大数据123
拥抱*终一致性123
CQRS简介124
事件溯源案例126
天气监测126
互联网汽车127
社交媒体消息处理127
代码示例:管理无人机舰队128
构建命令处理程序服务129
RabbitMQ介绍129
构建命令处理器服务133
构建事件处理器135
对事件处理器进行集成测试140
构建查询处理程序服务140
本章小结141
9 使用Go构建Web应用程序143
处理静态文件和asset143
支持客户端145
使用服务端模板148
处理表单150
使用cookie和会话状态151
写入cookie152
读取cookie153
使用Wercker构建和部署153
本章小结155
10 云安全157
保护Web应用程序157
应用程序安全性选项158
设置Auth0账户159
构建一个OAuth安全的Web应用程序160
运行安全的Web应用程序164
保护微服务166
客户端凭据模式概述166
使用客户端凭据保护微服务168
关于SSL的注意事项169
隐私和数据安全170
黑客不能得到你没有的170
读者练习172
本章小结173
11 使用WebSockets175
WebSockets解析175
WebSockets如何工作176
WebSockets与服务器发送事件对比177
设计WebSockets服务器177
WebSockets的云原生适应性178
使用消息服务创建WebSockets应用180
关于框架183
运行WebSockets示例183
本章小结184
12 使用Rea*构建Web视图185
的形势186
为什么选择Rea*186
虚拟DOM187
组件组合187
响应式数据流188
集中焦点188
使用的便利性189
Rea*应用程序剖析189
package.*son文件189
Webpack.config.*s文件191
.babelrc文件191
理解JSX和Webpack191
Rea*组件192
构建简单的Rea*应用程序192
不赞成的法199
测试Rea*应用程序200
进一步阅读200
Rea*网站200
Rea*书籍201
其他资料201
本章小结201
13 使用Flux构建可扩展的UI203
Flux介绍203
disp*cher204
store204
view205
a*ion205
source205
Flux的复杂性205
创建Flux应用程序206
本章小结215
14 创建完整应用World of FluxCraft217
World of FluxCraft介绍218
架构概览219
独立扩展、版本控制和部署221
数据库不是集成层221
单向不可变数据流221
Flux GUI222
Go UI宿主服务223
玩家移动时序图224
命令处理225
事件处理226
维持现实服务的状态227
地图管理227
自动验收测试228
本章小结230
15 结论231
我们学到了什么231
Go不是小众语言231
微服务应该有多“微”232
持续交付和部署232
测试一切232
尽早发布,频繁发布232
事件溯源、CQRS和更多首字母缩略词233
下一步233
附录A 云应用的故障排查235

作者介绍


作者简介

Kevin Hoff*n通过现代化和以多种不同语言构建云原生服务的方式帮助企业将其应用程序引入云端。他10岁时开始编程,从那时起便已经沉迷于构建软件,并花了很多时间学习语言、框架和模式。他已经构建了从遥控摄影无人机、仿生性安全系统、超低延迟金融应用程序到移动应用程序等一系列软件,并且在构建需要与Pivotal Cloud Foundry配合使用的自定义组件时爱上了Go语言。

Dan Nemeth目前在Pivotal担任咨询解决方案架构师,负责支持Pivotal Cloud Foundry。他从1995年开始从事专业编码,使用ANSI C编写了用于本地ISP的CGI脚本。他职业生涯的大部分时间都是作为独立顾问为金融、制药等各个行业提供解决方案,其间不断使用当时流行的各种语言和框架。Dan*近接受了Go作为自己的“归宿”,其间不断热情地将它用于所有的项目。

译者简介

宋净超,TalkingD*a技*运营团队工程师。拥有多年的Hadoop大数据平台运维管理经验,熟悉Hadoop技*、Docker生态系统以及PaaS平台,主导了 TalkingD*a的Yarn on Docker项目改造和微服务落地,关注开源软件及Docker、Kuber*es的前沿发展,关注Kuber*es和TensorFlow的实践。多次在全球架构师峰会、QCon 、*UTCon、云栖大会等技*会议上作为讲师进行技*分享,地址:**rootsong*c.github.io/。

文摘


序言