名师讲坛——Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-05-19 07:06:06

点击下载

作者:李兴华

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

名师讲坛——Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)

名师讲坛——Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)试读:

前言

我们在用心做事,做最好的教育,写最好的原创图书。

笔者是一名从事Java开发快二十年的技术爱好者,一位普通的培训班老师,喜欢和学生们一边开着玩笑,一边教会他们当下流行与实用的技术。很多时候我会跟学生说:“信息产业是一个不断发展变化的行业,没有人可以精确预测这个行业的未来发展方向,更没有人可以在这个行业里拥有绝对的技术实力。同样,也没有永远不过时的技术。我们能做的只是努力地学习与提升,每一天都要在踩坑与填坑的路上不断爬行,磕磕碰碰习惯了,解决问题所花费的时间就越来越少了。想要在这个行业走得长远,一定要喜欢这个行业,喜欢钻研。”

遥想起2003年开源风在中国兴起时,SSH(Spring 1.x + Struts 1.x + Hibernate 2.x)整合开发框架是当时最大的技术亮点。作为开发者的我们,最大的感受是再也不需要去编写那些重复的代码了,利用开发框架我们几乎可以解决当时所有的问题。然而技术的经典是短暂的,随着时间的流逝,SSH的光环也不再辉煌。后来,有了SSH2(Spring 2.x + Struts 2.x + Hibernate 3.x),又有了SSM(Spring + Shiro + MyBatis)。随着开发框架的不断增加,以及Spring对各类开发框架的不断支持,新的问题出现了—参与整合的配置文件过多,项目的集成化太高。大家转而开始寻找新的解决方案。就在所有人都认为Pivotal公司(Spring项目所属公司)已经停滞不前的时候,其在2016年推出了一套完善的轻量级分布式解决方案,就是今天流行的微架构(或称微服务),之中的主要技术手段是SpringBoot + SpringCloud。

微架构的出现,很好地适应了这个时代对快速发展变化的要求。它不再提倡一体化的项目设计,而是对项目进行有效的“业务区”(可以简单理解为不同的子系统)划分,并利用合理的技术对业务性能做出提升和改善,同时又极大地简化了配置文件的使用与profile配置。总而言之,微架构是开发之中看起来非常简单的一种实现技术,但简单的背后考究的却是开发者对于开源技术的熟练程度。

SpringBoot作为一种Web整合开发框架,很好地解决了Web程序的编写困难,可以更简单、高效地实现MVC设计模式。更为重要的是,它可以轻松地整合当前各类主流的开发项目,如消息组件、SQL数据库、NoSQL数据库、邮件服务等,因此能极大地缩短项目的开发周期,更快地响应客户的需求变更。SpringCloud作为SpringBoot的延续,可以基于Restful流行架构实现RPC业务中心的搭建,可以基于消息组件实现远程配置动态的抓取,还可以与Docker相结合,采用虚拟化手段实现便捷的云服务管理。可以说,微架构的出现与云时代是密不可分的。

本书是笔者多年开发经验的总结,写作时力求能一针见血地分析透Java微服务的设计架构(见下图)与各类技术实现。全书围绕着当前的主流方案(高性能+高可用+分布式)进行展开,不仅讲解了所有微架构中的内容,还给出了真实有效的学习案例;不仅可以与虚拟化Docker整合开发,还可以实现大型企业分布式授权OAuth解决方案。可以说,本书就像Java微服务实现架构的一个技术宝典,读者学习后完全可以直接在实际项目之中进行应用。另外,由于微架构涉及到的技术非常广泛,对于某些技术还不十分清楚的读者,可以登录魔乐科技网站(www.mldn.cn)进行视频学习。

笔者崇尚原创,所出版的图书也均为原创。笔者将“技术实现优先”这一原则贯穿于全书,采用步骤分解的模式详细讲解每一步的开发,希望读者可以通过本书学习到微服务的技术精髓。另外,由于技术更新迭代过快,加之本人水平有限,书中难免有表达不到位或不明确的地方,欢迎读者批评指正,万分感谢。

创作不易。感谢我最爱的妻子和我的家人,是你们的付出与支持才让我可以安心创作,同时也祝福我年幼的儿子可以健康快乐地成长。本书特色 资深Java讲师进行技术剖析,全面把握学习命脉,问题分析一针见血。 140个课程案例,完美演示微服务的方方面面。 基于Maven实现项目管理,与真实项目完美衔接。 丰富的架构图示说明,轻松掌握微架构设计方案。 手把手步骤学习法,轻松掌握微架构开发。 OAuth使用分析与代码实现,掌握企业级RPC认证与授权解决方案。 微服务与Docker虚拟化技术结合使用,轻松实现云服务。本书章节安排

全书涉及到的技术包括:SpringBoot、Thymeleaf、Jetty、Redis整合、C3P0整合、Druid整合、MyBatis整合、ActiveMQ整合、RabbitMQ整合、Kafka整合、Shiro整合、SpringDataJPA整合、Mail整合、Actuator监控、Restful、RestTemplate、Eureka、Ribbon、Feign、Hystrix、Turbine、Zuul、SpringCloudConfig、SpringCloudBus、SpringCloudStream、SpringCloudSleuth、Zipkin、OAuth、RabbitMQ和Docker。

考虑到学习层次,本书共分为3个组成部分:SpringBoot篇、SpringCloud篇和微服务辅助篇。第一部分:SpringBoot篇 第1章 SpringBoot编程起步:本章将为读者讲解SpringBoot的发展背景与SpringBoot编程起步。 第2章 SpringBoot程序开发:本章将为读者详细讲解SpringBoot开发常用的各项技术,包括代码测试、Jetty配置、资源加载、访问路径、profile配置、项目打包等。 第3章 Thymeleaf模板渲染:Thymeleaf是模板技术,也是当下Web开发中使用最多的一项技术,在SpringBoot中默认支持有此模板使用,本章将为读者讲解Thyemeleaf之中的使用语法以及与JSP语法的关联。 第4章 SpringBoot与Web应用:主要讲解https协议整合、Tomcat发布、全局异常处理、文件上传等。 第5章 SpringBoot服务整合:主要讲解C3P0、Druid、MyBatis、SpringDataJPA、ActiveMQ、RabbitMQ、Kafka、Redis、Shiro、Mail、Actuator监控等组件的整合应用。第二部分:SpringCloud篇 第6章 SpringCloud简介:主要讲解RPC技术的主要作用及SpringCloud技术实现架构。 第7章 SpringCloud与Restful:主要讲解Restful架构的基础实现方案、RestTemplate调用微服务以及SpringSecurity基础认证处理。 第8章 Eureka注册服务:主要讲解Eureka的作用、Eureka微服务创建、Eureka集群搭建、打包部署等。 第9章 SpringCloud服务组件:主要讲解Ribbon负载均衡、Feign接口转换、Hystrix熔断机制以及Zuul代理机制。 第10章 SpringCloudConfig:与GitHub结合实现分布式配置文件管理、加密处理、SpringCloudBus更新服务。 第11章 SpringCloudStream:讲解微服务中信息采集的搭建,主要与RabbitMQ整合。 第12章 SpringCloudSleuth:讲解微服务调用监控跟踪、Zipkin、数据采集。 第13章 OAuth认证管理:分析SpringSecurity实现方案缺陷、OAuth与RPC结合流程,并基于SQL数据库与Redis数据库实现OAuth认证与授权管理。第三部分:微服务辅助篇 第14章 RabbitMQ消息组件:RabbitMQ与Spring微服务有着密不可分的关联,本章将为读者讲解RabbitMQ的安装、管理、Java开发与集群使用。 第15章 Docker虚拟化容器:虚拟化与云开发是流行话题,本章主要讲解Docker虚拟化容器管理技术,同时讲解微服务与Docker的整合开发以及DockerCompose组件的使用。寄语读者

本书全篇由笔者根据实践项目与教学经验总结而来,虽经过再三斟酌和审校,仍难免存在技术理解上的偏差和解释不到位的地方,欢迎读者批评指正。您的宝贵建议将帮助我们修正此书,大家一起努力,将传道、授业、解惑贯彻到底。

本书用到的程序源代码,读者可扫描下面的“文泉云盘”二维码获取其下载方式,也可登录清华大学出版社网站(www.tup.com.cn)进行下载。技术学习部分,读者可登录魔乐科技官网(http://www.mldn.cn)及沐言优拓官网(http://www.yootk.com)进行学习,也可登录笔者的新浪微博进行留言交流。文泉云盘获取学习资源

最后,希望本书成为您的良师益友。祝您读书快乐!第一部分SpringBoot篇

• SpringBoot与Restful标准

• SpringBoot微服务创建

• Thymeleaf语法标准

• SpringBoot与服务整合第1章 SpringBoot编程起步通过本章学习,可以达到以下目标:

1.理解基于Maven的传统项目开发问题。

2.理解SpringBoot开发框架的主要作用。

3.编写第一个SpringBoot程序。

SpringBoot是当下最为流行的Java Web端开发框架,该框架由Spring(Pivotal公司)开源组织提供,使用该框架可以解决传统项目之中混乱的Maven依赖管理问题,同时可以基于Maven快速进行项目的打包与发布。1.1 传统开发中痛的领悟

在Java项目开发中,MVC已经成为了一种深入人心的设计模式,几乎所有正规的项目之中都会使用到MVC设计模式。采用MVC设计模式可以有效地实现显示层、控制层、业务层、数据层的结构分离,如图1-1所示。图1-1 MVC设计模式

虽然MVC开发具有良好的可扩展性,但是在实际的开发过程中,许多开发者依然会感受到如下的问题。 采用原生Java程序实现MVC设计模式时,一旦整体项目设计不到位,就会存在大量的重复代码,并且项目维护困难。 为了简化MVC各个层的开发,可以引用大量的第三方开发框架,如Spring、Hibernate、MyBatis、Shiro、JPA、SpringSecurity等,但这些框架都需要在Spring中实现整合,其结果就是会存在大量的配置文件。 当使用一些第三方的服务组件(如RabbitMQ、Kafka、JavaMail等)时,需要编写大量重复的配置文件,而且还需要根据环境定义不同的profile(如dev、beta、product)。 使用Maven作为构建工具时,需要配置大量的依赖关系,且程序需要被打包为*.war文件并部署到应用服务器上才可以执行。 Restful作为接口技术应用得越来越广泛,但如果使用Spring来搭建Restful服务,则需要引入大量的Maven依赖库,并且需要编写许多的配置文件。

基于以上种种因素,很多人开始寻求更加简便的开发方式,而遗憾的是,这种简便的开发没有被官方的JavaEE所支持。JavaEE官方支持的技术标准依然只提供最原始的技术支持。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载