Spring全家桶在Java世界的地位很重要,它不仅为Java开发者证明了基于注解开发、AOP(面向切面编程)开发以及面向接口开发能够给程序带来极大的灵活性,而且带来了依赖注人、声明式事务、统一的异常处理、模块自动化加载、更简单的Maven管理、更简单的单元测试等优秀的开发实践。
本书采用大量的代码与案例分析,行文深入浅出、图文并茂,将枯燥生硬的理论知识用诙谐幽默、浅显直白的口语娓娓道来。本书抛开深奥的理论化条文,除了必备的基础理论知识介绍外,绝不贪多求全,特别强调实务操作、快速上手,绝不囿于示意与演示,更注重实战展示——从如何创建Spring Boot、如何注册服务,到调用服务、服务熔断、案例分析。随着本书的介绍,您的Spring Cloud学习之旅一定会成为一种难忘的体验。
因为这份《spring cloud实战》内容实在太多,没有办法给大家全部展示出来,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!
内容简介
《Spring Cloud开发从入门到实战》以Spring Cloud微服务架构为中心,全面系统地介绍了Spring Cloud常用组件的应用,以及微服务涉及的相关技术。本书内容包括:微服务介绍、微框架Spring Boot、服务注册与发现、服务的提供者与消费者、模板引擎、服务的雪崩与熔断、分布式配置中心、API网关、Cloud Foundry、消息驱动、单点登录、Activity工作流、ElasticSearch、ELK Stack、多线程、Redis缓存技术、微服务监控、API文档、持续集成和金丝雀部署,最后以SpringCloud实战案例来进一步演练Spring Cloud的微服务解决方案。
《Spring Cloud开发从入门到实战》语言简练,内容通俗易懂,实用性强,结构清晰,层层剥茧式分析、全流程实例讲解Spring Cloud核心组件应用与微服务开发。实战案例可以拿来就用,帮助初学者快速上手。本书内容全面,读者不但可以系统地学习Spring Cloud的相关知识,而且还可以全面掌握微服务架构应用的设计、开发、部署和运维等知识。
《Spring Cloud开发从入门到实战》适合Spring Cloud的入门读者阅读,也适合致力于互联网开发和Java编程开发的进阶读者阅读。对微服务架构有兴趣的运维人员及数据库管理人员亦可选择此书阅读。本书也可以作为相关培训机构的教材使用。
目录内容
本书共21章,首先从微服务基础框架Spring Boot讲起;其次重点讲述了Spring Cloud中的核心组件;最后介绍了微服务涉及的相关技术。
第1章什么是微服务微服务是业界最新的流行语,每个人似乎都在以这种或那种方式谈论它或者使用它。
第2章微框架Spring BootSpring Boot是一个Spring框架模块,它为Spring框架提供RAD(快速应用开发)功能。它高度依赖于启动器模板功能,该功能非常强大且完美无缺。Spring Boot同样也是Spring Cloud的重要组成部分。
第3章从服务注册与发现说起在微服务中,消费者为了完成一次服务请求,需要知道具体服务的详细地址(IP和端口)。传统应用都运行在物理服务器上,服务实例的网络位置都是相对固定的。怎样从一个经常变更的配置中读取网络位置尤为重要。
第4章服务提供者与服务消费者的关系什么是服务提供者和服务消费者?服务提供者是指服务的被调用方,即为其他服务提供服务的服务;服务消费者是指服务的调用方,即依赖其他服务的服务。
第5章模板引擎模板引擎是为了使用户页面和业务数据相互分离而衍生出来的,它将从后台返回的数据生成特定格式的文档,用户页面通过模板引擎根据特定的格式渲染页面。
第6章服务的雪崩与熔断典型的分布式系统由许多协作在一起的服务组成,这些服务容易出现故障或延迟响应。如果服务失败,可能会影响性能的其他服务,并可能使应用程序的其他部分无法访问,或者在最坏的情况下会导致整个应用程序崩溃。
第7章分布式配置中心随着服务/业务越来越多,配置文件更是眼花缭乱,每次不知道因为部署/安装问题浪费多少时间,更不知道因为配置问题出现过多少问题。如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多。
某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言,也容易出错。配置中心是解决此类问题的灵丹妙药。
第8章API网关API网关是微服务架构中很重要的一部分,是发起每个请求的入口,可以在网关上做协议转换、权限控制、请求统计和限流等工作。
第9章Cloud FoundryCloud Foundry是一个开源平台即服务(PaaS),提供云、开发人员框架和应用程序服务。它是开源的,由Cloud Foundry Foundation管理。Cloud Foundry最初由VMware开发,目前由GE、EMC和VMware的合资公司Pivotal管理。
现在,由于Cloud Foundry是开源产品,许多流行组织目前单独提供此平台。下面是当前认证提供商的列表。Pivotal Cloud Foundryo
IBM Bluemix。
HPE Helion Stackato 4.0。
Atos Canopyo
CenturyLink App Fogo
GE Predix。
Huawei FusionStageo
SAPCloud Platform。
Swisscom Application Cloud。
第10章消息驱动Spring Cloud Stream是一个用来为微服务应用构建消息驱动能力的架构,为一些供应商的消息中间件产品提供个性化的自动化配置实现,并且引入了发布—订阅、消费组以及分区这三个核心概念。通过使用Spring Cloud Stream,可以有效简化开发人员对消息中间件的使用复杂度,让系统开发人员可以有更多的精力关注核心业务逻辑的处理,如图10.1所示。
第11章单点登录单点登录(Single Sign On,SSO)是把多个系统的登录验证整合在一起,这样,无论用户登录任何一个应用,都可以直接以登录过的身份访问其他应用,不必每次先访问其他系统,再去登录。
第12章Activity工作流Activity实现了工作流程的自动化,改善了企业资源利用,提高了企业运营效率、企业运作的灵活性和适应性、量化考核业务处理的效率,减少了浪费。
流程图就像流水线一样,张三请完假,李四就会收到任务去审批张三的请假,若通过,则流程结束;若不通过,就会通知到张三,张三可以再次发起申请。
第13章ElastioSearchElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful Web接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索、稳定、可靠、快速,且安装使用方便。
第14章ELK Stack通过使用微服务,我们已经能够克服许多遗留问题,并且它允许我们创建稳定的分布式应用程序,并对代码、团队规模、维护、发布周期、云计算等进行所需的控制。但它也引入了一些挑战,如分布式日志管理、查看在许多服务中分布的完整事务的日志与一般的分布式调试的能力。ElasticSearch、Logstash和Kibana一起称为ELK Stack。它们用于实时搜索、分析和可视化日志数据。
第15章多线程多线程是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。单线程如同一根水管配一个花洒,意味着同一时刻只能一个人洗澡。
多线程如同一根水管配两个花洒,意味着同一时刻可以两个人洗澡,如果为多核机器,甚至可以做到两根水管4个花洒同时供4个人使用。单线程处理能力低。例如,一个人搬砖与多个人搬砖,一个人只能搬一车砖,但是多个人可以一起搬多车砖。
在Java里实现线程的方式有Thread、Runnable、Callable。
使用线程可以获得更大的吞吐量,但是开销很大,如线程栈空间的大小、切换线程需要的时间等,所以用到线程池进行重复利用。当线程使用完毕之后,就放回线程池,避免创建与销毁的开销。
第16章Redis缓存技术Redis基于内存,也可以基于磁盘持久化NoSQL数据库,使用C语言开发。Redis开创了一种新的数据存储思路。使用Redis,不用在面对功能单调的数据库时把精力放在处理如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作为不同的大象构建不同的冰箱。
第17章微服务监控由于在微服务体系下,各种服务众多,仅靠人力维护服务不现实,成本极其高,因此微服务监控很有必要。
第18章API文档随着微服务架构的日益普及,服务与服务直接的对接也变得日益密切起来,REST风格也变得大势所趋。
REST风格的5个关键点。
资源(Resource )。
资源的表述(Representation )。
状态转移(State Transfer )。
统一接口(Uniform Interface )。
超文本驱动(Hypertext Driven )。
第19章持续集成微服务为什么会谈到自动化部署?“互联网+”的需要。在信息越来越繁杂的互联网时代,公司运行的项目越来越多,项目相关服务繁多,服务之间存在复杂的依赖关系,运维与管理任务越来越繁重,手工交付需要花费很多的人力与时间,且安全性和时效性均无法保证。
随着企业对版本上线质量和速度的要求越来越高,敏捷开发、Devops的接受度越来越高。传统的交付方式因为项目之间缺少依赖、环境不一致、版本不一致、人为操作失误等情况,使得项目交付过程中问题不断,而互联网企业发展节奏快、版本发布频率高、上线出故障影响面广、影响度高,因而企业对于敏捷开发、持续集成、自动发布都有强烈的需求。
第20章金丝雀部署每次部署到生产环境时,我们都会担心更改会影响用户体验。无论使用什么技术或策略进行部署,可能出错的事情都会出错,这是墨菲定律。
第21章Spring cloud实战项目选用Spring Cloud微服务解决方案,框架的搭建基于Spring Boot,使用到的技术有Feign、Hystrix、Ribbon、Eureka、Cloud-Config、OAuth2.0、ES。
因为这份《spring cloud实战》内容实在太多,没有办法给大家全部展示出来,需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!
网友评论