书籍作者:李兴华 | ISBN:9787302506072 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:4659 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
Java微服务架构是当下流行的软件架构设计方案,可以快速地进行代码编写与开发,维护起来也非常方便。利用微架构技术,可以轻松地实现高可用、分布式、高性能的项目结构开发,同时也更加安全。
《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》一共15章,核心内容为SpringBoot、SpringCloud、Docker、RabbitMQ消息组件。其中,SpringBoot 是SpringMVC技术的延伸,使用它进行程序开发会更简单,服务整合也会更容易。SpringCloud是当前微架构的核心技术方案,属于SpringBoot的技术延伸,它可以整合云服务,基于RabbitMQ和GITHUB进行微服务管理。除此以外,该书还重点分析了OAuth统一认证服务的应用。
《名师讲坛:Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》适用于从事Java开发且有架构与项目重构需求的读者,也适用于相关技术爱好者,同时也可作为应用型高等院校及培训机构的学习教材。
李兴华,著名软件技术讲师,系统架构师,有多年的软件教学经验,技术研究与讲解的主要方向为数据库、编程语言、Web开发、框架服务、系统架构、手机移动开发、大数据等。从2008年开始进行图书创作,出版过Oracle、Android、Java、Python、Web编程等10多本畅销书籍,总销量近50万册,受到广大读者的—致好评。
《名师讲坛——Java微服务架构实战(SpringBoot+SpringCloud+Docker+RabbitMQ)》内容特色如下。
(1)资深Java讲师进行技术剖析,全面把握学习命脉,问题分析一针见血。
(2)140个课程案例,完美演示微服务的方方面面。
(3)基于Maven实现项目管理,与真实项目完美衔接。
(4)丰富的架构图示说明,轻松掌握微架构设计方案。
(5)手把手步骤学习法,轻松掌握微架构开发。
(6)OAuth使用分析与代码实现,掌握企业级RPC认证与授权解决方案。
(7)微服务与Docker虚拟化技术结合使用,轻松实现云服务。
前 言
我们在用心做事,做最好的教育,写最好的原创图书。
笔者是一名从事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微服务实现架构的一个技术宝典,读者学习后完全可以直接在实际项目之中进行应用。另外,由于微架构涉及到的技术非常广泛,对于某些技术还不十分清楚的读者,可以登录魔乐科技网站进行视频学习。
笔者崇尚原创,所出版的图书也均为原创。笔者将“技术实现优先”这一原则贯穿于全书,采用步骤分解的模式详细讲解每一步的开发,希望读者可以通过本书学习到微服务的技术精髓。另外,由于技术更新迭代过快,加之本人水平有限,书中难免有表达不到位或不明确的地方,欢迎读者批评指正,万分感谢。
创作不易。感谢我最爱的妻子和我的家人,是你们的付出与支持才让我可以安心创作,同时也祝福我年幼的儿子可以健康快乐地成长。
本书特色
(1)资深Java讲师进行技术剖析,全面把握学习命脉,问题分析一针见血。
(2)140个课程案例,完美演示微服务的方方面面。
(3)基于Maven实现项目管理,与真实项目完美衔接。
(4)丰富的架构图示说明,轻松掌握微架构设计方案。
(5)手把手步骤学习法,轻松掌握微架构开发。
(6)OAuth使用分析与代码实现,掌握企业级RPC认证与授权解决方案。
(7)微服务与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组件的使用。
寄语读者
本书全篇由笔者根据实践项目与教学经验总结而来,虽经过再三斟酌和审校,仍难免存在技术理解上的偏差和解释不到位的地方,欢迎读者批评指正。您的宝贵建议将帮助我们修正此书,大家一起努力,将传道、授业、解惑贯彻到底。
本书用到的程序源代码,读者可扫描图书封底的“文泉云盘”二维码获取其下载方式,也可登录清华大学出版社网站进行下载。技术学习部分,读者可登录魔乐科技官网及沐言优拓官网进行学习,也可登录笔者的新浪微博进行留言交流。
最后,希望本书成为您的良师益友。祝您读书快乐!
第一部分 SpringBoot篇
第1章 SpringBoot编程起步
1.1 传统开发中痛的领悟
1.2 SpringBoot简介
1.3 SpringBoot编程起步
1.4 本章小结
第2章 SpringBoot程序开发
2.1 建立统一父pom管理
2.2 SpringBoot程序测试
2.3 SpringBoot注解分析
2.4 配置访问路径
2.5 SpringBoot调试
2.6 使用内置对象
2.7 使用Jetty容器
2.8 配置环境属性
2.9 读取资源文件
2.10 整合Spring配置
2.11 SpringBoot项目打包发布
2.12 profile配置
2.13 本章小结
第3章 Thymeleaf模板渲染
3.1 Thymeleaf简介
3.2 Thymeleaf编程起步
3.3 Thyemeleaf静态资源
3.4 读取资源文件
3.5 路径处理
3.6 内置对象操作支持
3.7 对象输出
3.8 页面逻辑处理
3.9 数据迭代处理
3.10 包含指令
3.11 Thymeleaf数据处理
3.12 本章小结
第4章 SpringBoot与Web应用
4.1 配置Tomcat运行
4.2 https安全访问
4.3 数据验证
4.4 配置错误页
4.5 全局异常处理
4.6 文件上传
4.6.1 基础上传
4.6.2 上传文件限制
4.6.3 上传多个文件
4.7 拦截器
4.8 AOP拦截器
4.9 本章小结
第5章 SpringBoot服务整合
5.1 SpringBoot整合数据源
5.1.1 SpringBoot整合C3PO数据库连接池
5.1.2 SpringBoot整合Druid数据库连接池
5.2 SpringBoot整合ORM开发框架
5.2.1 SpringBoot整合MyBatis开发框架
5.2.2 SpringBoot整合JPA开发框架
5.2.3 事务处理
5.3 SpringBoot整合消息服务组件
5.3.1 SpringBoot整合ActiveMQ消息组件
5.3.2 SpringBoot整合RabbitMQ消息组件
5.3.3 SpringBoot整合Kafka消息组件
5.4 SpringBoot整合Redis数据库
5.4.1 SpringBoot整合RedisTemplate操作Redis
5.4.2 Redis对象序列化操作
5.4.3 配置多个RedisTemplate
5.5 SpringBoot整合安全框架
5.5.1 SpringBoot整合Shiro开发框架
5.5.2 SpringBoot基于Shiro整合OAuth统一认证
5.6 SpringBoot整合邮件服务器
5.7 定时调度
5.8 Actuator监控
5.9 本章小结
……
第二部分 SpringCloud篇
第三部分 微服务辅助篇