云原生Java:Spring Boot、Spring Cloud与Cloud Foundry弹性系统设计
[美]Josh,Long(乔西·朗),Kenny,Bastani(肯尼·巴斯塔尼) |电子工业出版社
0.00 ¥128.00
收藏
浙江图书馆
  • ISBN
    9787121342516
  • 印刷时间
    2018-07-01
  • 库存
    正在获取...
产品特色
产品特色
编辑推荐

传统企业与亚MA逊、Netflix和Etsy这类企业之间的区别是什么?这些公司有完善云原生开发方法,这些方法使得他们能够保持优势并领先于竞争对手。本实践指南向Java/JVM开发人员展示如何使用Spring Boot、Spring Cloud和Cloud Foundry更快更好地构建软件。很多组织都已涉足云计算、测试驱动开发、微服务,以及持续集成和交付领域。本书作者Josh Long和Kenny Bastani将带您深入研究这些工具和方法,并帮助您将传统应用程序转变为真正的云原生应用程序。

本书四部分内容分别介绍:

√础知识:了解云原生思维背后的动机;配置和测试Spring Boot应用程序;将您的传统应用程序迁移至云端

√微服务:使用Spring构建HTTP和RESTful服务;在分布式系统中路由请求;建立更接近数据的边缘服务

√数据整合:使用Spring Data管理数据,并将分布式服务与——Spring对事件驱动、以消息传递为中心架构的支持——集成起来

√生产:让您的系统可观察;使用服务代理来连接有状态的服务;了解持续交付背后的重要思想


作者简介

  Josh Long是一名Spring developer advocate,是InfoQ.com Java团队的编辑。他也是多部著作的主要作者,如Spring Recipes,2nd Edition(Apress)。Kenny Bastani是Pivotal的一名Spring developer advocate。作为一名开源贡献者和软件架构博主(www.kennybastani.com),他为软件开发者提供关于构建事件驱动的微服务和无服务器架构方面的教程。他也在一些行业会议上做演讲,如OSCON、SpringOne Platform和GOTO大会。

 宋净超,就职于蚂蚁金服,Kubernetes及云原生应用布道师,ServiceMesher社区创始人。乐于分享,拥抱开源,活跃于Kubernetes及微服务开发者社区。经常作为讲师在Qcon、ArchSummit等技术会议上进行分享,也常参与云栖大会等行业会议和线下Meetup。喜欢在个人博客(https://jimmysong.io)上发表见解,发布开源教程。业余时间喜欢摄影和旅游。

 张若飞,TGO会员,曾任易通贷CTO,宜人贷首席架构师,在雅虎北研、金山云、POLYCOM等知名公司担任架构师。十余年互联网研发及技术管理经验,管理过超过百人的技术研发团队,对搭建海量数据、大型分布式系统有丰富经验,对互联网金融领域有广泛涉猎。著有十余本技术译著,包括《Grails权wei指南》《给大忙人看的JavaSE 8》《代码不朽:编写可维护软件的十大则》《面向可伸缩架构》等书,总计300余万字。

 


内容简介

无论是传统IT行业,还是互联网行业,都正处于行业历史上*剧烈的变革中 :大量的系统正在从传统的IT架构转向基于云的架构, 开发模式也正在从开发和运维分工的传统模式,逐渐转向统一的“DevOps”模式。Java技术已经进入了新的生命周期,大量被用于构建现代的、基于云的应用程序。 本书详细阐述了开发云原生应用程序的机遇和挑战,明确指出了成功实现的方向,并且重点介绍了微服务框架Spring Boot。Spring Boot可以轻松创建任何粒度的 Spring服务,并部署到现代的容器环境中。本书主要面向正在使用 Spring Boot、SpringCloud和Cloud Foundry, 以便更快、更好地构建软件的Java/JVM 开发人员。本书一共分为4个部分共15章。第1章和第2章介绍了云原生思想产生的背景,然后介绍了Spring Foundry。第3章介绍了如何配置Spring Boot应用程序。第4章介绍了如何测试Spring应用程序,从如何测试*简单的组件到测试分布式系统。第5章介绍了可以将应用程序迁移到Cloud Foundry等云平台的轻量级重构方式。第6章介绍了如何使用Spring构建HTTP和RESTful服务。第7章介绍了在分布式系统中控制请求进出的常用方法。第8章介绍了如何构建一个响应外部请求的服务。第9章介绍了如何使用Spring Data在Spring中管理数据。这为领域驱动的思想奠定了基础。第10章介绍了如何使用Spring中事件驱动、消息中心化的能力,来集成分布式服务和数据。第11章介绍了如何利用云平台(如Cloud Foundry)的能力来处理长期运行的工作。第12章介绍了在分布式系统中管理状态的一些方法。第13章介绍了如何构建具备可观测性和可操作性的系统。第14章介绍了如何构建类似于Cloud Foundry平台的服务代理。第15章介绍了持续交付背后的思想。

精彩书评
精彩书摘

译者序

“Java 已死。”

这几年,我们不断听到这句话,甚至相信过这句话,认为Java 语言已经存在了如此长的时间,影响了如此广的范围,是时候该有一些新鲜的东西来颠覆它了。但是令人失望的是,Java 语言不仅自身依然在快速地进化(本书完成时,Java 10 已经正式发布),其整个生态圈也都不曾停下前进的脚步。Spring 就是一个很好的例子。相信Java 开发人员对它已经再熟悉不过了,大部分人每天的工作都是在围绕着它进行开发。令人惊讶的是,Spring 也已经从以前单一的核心框架,逐渐发展成为一个全栈的应用层框架,甚至在大家还没有觉察的时候,它已经开始用于构建微服务的生态系统了,而Spring Boot 就是整个微服务生态的核心。

在Spring Boot 出现之前,我们看到Spring 也在努力尝试,将整个繁杂的Spring/SpringMVC 体系精简成一个容易上手的工具,也出现了像Spring Roo 这样的过渡产品。但是直到Spring Boot 横空出世,我们才发现,原来开发一个应用程序,可以如此简单。这使我不由想起10 年前,我翻译了国内第一本Grails 书籍和Rails 等书籍,当时那些令我陶醉的feature,这一次终于踏踏实实地在Spring Boot 中得到了实现。与此同时,Spring团队秉承了其一贯的风格,简单却强大。如今,Spring Boot 不再是一个简单的框架,而是像一个灵活的骨架结构,你可以很轻松地将Spring Data、Spring Security 这些耳熟能详的模块,像插积木一样插在Spring Boot 上,甚至不需要写一行代码。它就像一幅绝世的中国山水画,让你既惊叹于其精致的笔法,又被它整体磅礴的气势震慑得不能一语。而这一切,都与Java 这十年间不断的提升和整个Spring 生态的发展密不可分。

如今的IT 行业,已经不再是十年前的情景,云计算已经发展成熟并且逐渐占据主流。没有人愿意再去花高额的成本、时间、人手建立自己的数据中心,基于云计算的产品和项目甚至一天就可以开发完成上线。更快,永远是技术追逐的目标。所有你能想到的框架、组件、中间件,甚至是业务功能模块,都在快速地被云端化,你随便打开一个云计算产品的官网,上面都有不下上百种的产品功能供你选择,即便是最新的机器学习平台,你也只需点几下鼠标就可以搭建起来。更简单,也永远是技术发展的趋势。在Netflix 的成功背景下,Spring 没有停留在Spring Boot 上止步不前,而是进一步迈向了云原生的应用开发,因此而诞生了Spring Cloud。从严格意义上说,Spring Cloud 才是一个真正的微服务框架,它提供了一套完善的解决方案,能够将云环境中各个独立部署的微服务整合起来,因此云原生的应用,本质上就是一个分布式的应用。同时,它打破了我们之前依靠硬件或其他一些软件来实现分布式系统的做法,其将一切功能都云端化,包括中心化配置、负载均衡、路由、集群,以及衍生出来的断路器等常见设计模式。我们恍然发现,原来开发一个云上的应用也变得如此简单,但其功能依然强大。可以预见的是,掌握Spring Boot、Spring Cloud 的开发技术,以及核心思想,一定会是下一代Java 开发人员必备的技能。幸运的是,我们已经在当前的工作中实际运用了它们,并取得了非常不错的效果。

感谢Josh 和Kenny 分享了他们各自在这个领域的深刻理解和经验,编纂成此书,同时我也为能够参与翻译此书感到荣幸。相信这本书,可以为Java 开发人员打开下一个时代的大门,让大家在原生云环境的应用中徜徉。感谢张春雨编辑的耐心和督促,不知不觉合作已十年有余。感谢净超(Jimmy)临危受命,承担了本书后半部分的翻译工作,他的高产和高效令我刮目相看,也时刻能感受到他对技术饱含的热情。感谢我身边的所有朋友,一直在支持着我,鼓励着我,这也是当我面对压力和挫折时不放弃的理由。最后,感谢我的妻子,给了我莫大的支持和鼓励,让我可以投身创业之中,愿她一生幸福满足!

感恩我的母亲,让我懂得了生命如此脆弱又如此坚强,生死之外,再无大事,愿她一生健康平安!


目录

序言(James Watters)  xvii

序言(Rod Johnson)   xix

前言   xxi

 

第Ⅰ部分 基础知识

 

第1 章 云原生应用程序   3

第2 章 训练营:Spring Boot 和Cloud Foundry   21

第3 章 符合十二要素程序风格的配置   67

第4章 测试   85

第5 章 迁移遗留的应用程序   115

 

第Ⅱ部分 Web 服务

 

第6 章 REST API   137

第7 章 路由   179

第8 章 边缘服务   197

 

第Ⅲ部分 数据整合

 

第9 章 数据管理   251

第10 章 消息系统   303

第11 章 批处理和任务   325

第12 章 数据集成   363

 

第IV 部分 生产

 

第13 章 可观测的系统   411

第14 章 服务代理   469

第15 章 持续交付   497

 

第V 部分 附录

 

附录A 在Java EE 中使用Spring Boot   527

 

 


相关推荐
读者免费借回家
加入书架成功