CLOUDNATIVEGO构建基于GO和REAC的云原生WEB应用与微服务9787121321092pdf下载

CLOUDNATIVEGO构建基于GO和REAC的云原生WEB应用与微服务9787121321092百度网盘pdf下载

作者:
简介:CLOUDNATIVEGO构建基于GO和REAC的云原生WEB应用与微服务9787121321092
出版社:
出版时间:2017-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

基本信息

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

定价:69.00元

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

出版社:电子工*出版社

出版日期:2017-07-01

ISBN:978712132*92

字数:

页码:

版次: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存储库*0
为什么选择MongoDB*0
更新存储库模型*0
通过Go来作MongoDB*1
以Test-Fi*t方式编写MongoDB存储库*2
*成测试一个Mongo-Backed服务*7
*成临时MongoDB数据库*8
编写一个*成测试1*
在云中运行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
* 云*全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通过现代化和以多种不同语言构建云原生服务的方式帮助企*将其应用程序引入云端。他*岁时开始编程,从那时起便已经沉迷于构建软件,并花了很多时间学习语言、框架和模式。他已经构建了从遥控摄影无人机、仿生性*全系统、超低延迟金融应用程序到移动应用程序等一系列软件,并且在构建需要与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/。

文摘


序言