CIOudNativeGO构建基于GO和React的云原生web应用于微服务

相关资料

[

云原生是一种新型的架构设计模式和业务理念。云原生使得业务系统可以规避物理资源的限制而享受云的弹性,还帮助开发者用模块化的方式快速构建了松耦合的业务系统。而Go语言则因其分布式友善性和高效性被广泛应用于如Docker、Kubernetes等流行的云原生开源项目中,成为了云计算从业人员的宠儿。本书将两者融合,既有架构层面的*实践,又有从头搭建真实应用的实战演练。而译者更是用流畅的文字,将这本理论结合实践的读物呈现在了国内读者面前。
才云科技CEO,张鑫

随着Cloud的普及,应用程序的架构也需要适应趋势而有所改变。于是,Cloud Native Application的概念被提出来了。虽然当前云原生应用还在不断演化中,具体会是什么样子没有一个定论,但这本书通过一些有趣的示例,可以让大家体验到应用架构和开发思路与以往相比的不同。由于本书中的示例是用Go语言描述的,所以本书也可以作为Go语言云原生应用开发的案例教程,相信大家可以从中学到许多。
QingCloud架构师,王渊命

几乎每个程序员都爱Go语言,也都爱云原生开发。如果能用属于云时代的编程语言Go来开发云原生应用程序,那一定是一件很酷的事情。这本书告诉我们,这件很酷的事情完全可以成为现实。无论云原生的工具链、微服务的构建方式,还是中间件与数据库,乃至前端视图开发,这本书中都给出了实践准则与详细示例。如果你是一位热爱Go语言编程的程序员,那么就拿起这本书开始一场愉快的实战之旅吧!
网易云基础服务总经理,陈谔

这本书是一本写给云时代开发者的书。什么是Cloud Native应用?应用开发者该如何开发一个更适合在云上运行的应用程序?这些问题是任何一个云计算从业者,尤其是云应用开发者无法回避的问题。本书循序渐进地向我们展示了如何利用Go语言实现微服务、持续部署、ES/CQRS模型等云时代应用开发的标签性技术,Cloud Native概念下的云应用形态也随之轮廓毕现、展露无遗!
BoCloud博云CTO,李亚琼

目前,Go语言在云计算领域的地位类似于C语言在操作系统层面上的地位。本书是一本面向实战的技术书。作者选用了一整套技术栈、技术理念甚至哲学,带领读者逐步踏入基于Go语言的云原生应用程序开发的世界。我亲自运用过书中所讲的大部分技术,也很认同作者的主要观点。如果你也正在开发云上的应用项目,相信这本书可以作为你的重要参考。
《Go并发编程实战》作者、GoHackers社群发起人,郝林

伴随着如Docker、Kubernetes、etcd、InfluxDB等诸多优秀云计算开源项目的成功,Go语言也逐渐成为当今*“火”的语言之一,其简单、并发性好、高效等特性获得了越来越多的公司及个人的青睐。另外,云计算逐渐成为业界的潮流和趋势,那么如何能找到一种全面拥抱云构建应用程序的方法呢?本书列举大量Go语言示例,结合构建云原生应用所需要遵循的“道”,很好地为大家解答了这个问题。
腾讯云PaaS产品总监,邹辉

Go语言被誉为云时代的系统语言,而目前市面上刚好缺少一本基于云平台的实战经验手册,而这本书的出现恰好弥补了这个空缺。本书详细地讲解了在云计算时代如何使用Go语言进行应用程序开发、自动化测试、运维及部署,我非常看好这本书,它一定能成为云计算时代的Go语言开发标准手册。
Apple核心系统高级工程师,谢孟军

Go语言具备简洁的语法、超高的开发效率以及优异的性能,这使其成为云计算时代后端开发的*语言。这本书不是一本关于Go语言的教程,而是从实战的角度出发,介绍如何在云环境下以Go语言为核心开发业务系统的实践手册,书中还介绍了系统开发过程中需要遵循的开发原则和哲学,相信读者会从中获益匪浅。
PingCAP工程副总裁、TiDB技术负责人,申砾

拿到本书的英文原版书籍时,我快速浏览了内容,当即就决定组织团队翻译这本书。因为在这本书中我看到了整个技术运营部门过去两年走过的路,以及未来要走的路,也看到了Go开发的基础设施和微服务将是未来松耦合和弹性架构的重要支持者。这本书包含Go语言基础知识、持续交付、Web框架、微服务以及安全等整个云服务开发流程中的关键点,是一本不错的实战手册。再次感谢这本书的翻译者宋净超、吴迎松、徐蓓、马超。
TalkingData运维总监,潘松柏

]

本书特色

[

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

]

内容简介

[

适读人群
:云计算从业人员、Go语言开发人员。
1.云原生是云计算时代的发展趋势和必然结果
《Cloud Native Go:构建基于Go和React的云原生Web应用与微服务》通过一个云原生应用项目的构建,为大家介绍了云原生的道与术,引导读者了解云原生理念的产生、应用场景、优势。
2.集现今诸多热点技术之大成
《Cloud Native Go:构建基于Go和React的云原生Web应用与微服务》在构建云原生项目时,涉及Docker、持续集成、微服务、DevOps、事件溯源与CQRS等众多备受关注的技术热点,无疑会让读者受益匪浅。
3.Go语言助理云开发完美实现
Go语言以其简单优雅、快速安全、支持高并发等特性,成为云计算时代的*语言。《Cloud Native Go:构建基于Go和React的云原生Web应用与微服务》将带领读者正确认识Go语言,掌握用Go构建应用程序的方法。
4.流程完整,示例具体详细
《Cloud Native Go:构建基于Go和React的云原生Web应用与微服务》从搭建平台开始,逐步带领读者开发一个完整的云上项目。其中的每一环节都有详细讲解。示例具有代表性,代码详细,帮助读者轻松掌握云原生开发的关键。

]

作者简介

[

作者简介
Kevin Hoffman通过现代化和以多种不同语言构建云原生服务的方式帮助企业将其应用程序引入云端。他10岁时开始编程,从那时起便已经沉迷于构建软件,并花了很多时间学习语言、框架和模式。他已经构建了从遥控摄影无人机、仿生性安全系统、超低延迟金融应用程序到移动应用程序等一系列软件,并且在构建需要与Pivotal Cloud Foundry配合使用的自定义组件时爱上了Go语言。
Dan Nemeth目前在Pivotal担任咨询解决方案架构师,负责支持Pivotal Cloud Foundry。他从1995年开始从事专业编码,使用ANSI C编写了用于本地ISP的CGI脚本。他职业生涯的大部分时间都是作为独立顾问为金融、制药等各个行业提供解决方案,其间不断使用当时流行的各种语言和框架。Dan最近接受了Go作为自己的“归宿”,其间不断热情地将它用于所有的项目。

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

]

目录

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

封面

CIOudNativeGO构建基于GO和React的云原生web应用于微服务

书名:CIOudNativeGO构建基于GO和React的云原生web应用于微服务

作者:丹.内梅斯

页数:238

定价:¥69.0

出版社:电子工业出版社

出版日期:2017-07-01

ISBN:9787121321092

PDF电子书大小:47MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注