没有7年经验你真学不会这份SpringCloud实战演练文档

669 篇文章 13 订阅
479 篇文章 11 订阅

前言

Spring Boot 的优势是不言而喻的,它简化了 Spring MVC架构,将其核心代码封装起来,井且基于注解,摒弃了烦琐的 XML ,大大增强了代码的可读性及可维护性,提升了开发效率。 此外 SpringBoot 集成了 Tomcat ,使项目部署变得容易,不需要单独部署 Tomcat ,使用 Java 命令即可完成项目的发布。

然而 Spring Boot 不是分布式架构,随着我公司项目的用户量不断增加,并发数不断增大,基于Spring Boot 的系统架构遇到了瓶颈。无巧不成书,这时微服务思想逐渐流行起来,无论是技术论坛还是程序员间的谈话,都在讨论微服务。国内著名的互联网企业阿里巴巴早在 2012 年就推出了 Dubbo框架,但由于种种原因, Dubbo 停止了维护,直到 2017 年, Dubbo 官方才重新开始维护。就在这时,Spring Cloud 横空出世,它基于 Spring Boot ,同时集成了市面上比较成熟的微服务组件,形成了一套完整的微服务解决方案。

Spring Cloud 的出现为广大开发者带来了福音。大家会发现, Spring Cloud 的好处虽然多,但国内的系统教程可谓凤毛麟角,实战类课程更是难求,本文就是在这种大环境下编写的。作者认为,实战即学习,只讲理论,不重实战,是不可取的。

本文就从理论到实践,为大家的开发工作提供便利,希望本文能够帮助到大家的学习!!

目录

主要内容

本文共分四部分,从基础到实战,讲解了基于Spring loud 的常用组件。

第一部分(基础篇):第1~4章。这部分主要讲解了Spring Boot的基本用法及Spring Cloud 的 HelloWorld示例,带领读者先目睹Spring Cloud的风采,为后续学习打好基础。

第1章微服务概述;本章中,我们首先比较了单体架构和微服务架构的优劣,并分析了如何选择适合自己项目的架构方案。其次,我们大致了解了微服务的基本概念,也了解到当今微服务的发展趋势和现状,进而对比了当前最流行的微服务框架。最后,结合一张简单的微服务架构图,让读者对微服务架构有了清晰的认识,为后续搭建一套完整的微服务框架打下基础。

第2章Spring Boot基础;通过本章的学习,我们了解了Spring Boot的基本用法并感受到了YAML的优雅。本章涵盖了一些实际项目中可能会用到的知识点,如常用注解、Spring Boot默认引擎的集成、JSON转换器的更改以及编译部署应用等。最后还介绍了目前较为流行的WebFlux框架。在后面的内容中,我们将进一步学习Spring Boot的其他特性。

第3章Spring Boot核心原理;Spring Boot最核心的部分不外乎起步依赖机制、自动配置管理、Actuator监控管理和Spring BootCLI命令行工具,本章对它们分别进行了剖析。通过对四大核心的研究,读者应该对Spring Boot有了更深的了解,并为后面学习Spring Cloud打下坚实的基础。

第4章Spring Cloud概述;本章中,我们正式进入Spring Cloud的学习。任何一门技术入门书,都是从Hello World开始的,本书也不例外。本章先介绍了Spring Cloud 的基本概念、Spring Cloud的优缺点及发展现状,随后以一个最简单的Spring Cloud示例演示了其部分核心思想,即服务的注册与发现、服务网关,使读者对Spring Cloud有了初步的了解,为后面的项目开发奠定基础。

第二部分(实战篇):第5~10章。本文的编写初衷是以实战为导向,因此这一部分占比最重,其中全方位讲解了实战项目的开发流程。

第5章项目准备阶段;通过本章的学习,我们了解到一个项目从需求分析、产品设计到最后的架构设计的整套流程。在实际的项目中,无论流程如何改变,这些基本思路是不变的。

第6章公共模块封装;本章主要封装了博客网站的公共模块,即每个模块都可能用到的方法和类库,保证代码的复用性。读者也可以根据自己的理解和具体的项目要求去封装一些方法,提供给各个模块调用。

第7章注册中心:Spring Cloud Netflix Eureka;本章介绍了Spring Cloud的核心架构:服务的注册与发现。每个服务都应注册到注册中心,服务间的通信和配置的拉取都是通过注册中心进行的。通过注册中心的分布式管理,我们可以很容易搭建出一套高可用的微服务架构。

第8章配置中心: Spring Cloud Config;本章主要介绍了Spring Cloud Config的基本用法,涵盖了Config 的方方面面,从配置的拉取、内容的加密到安全认证,读者可以根据自身项目的实际要求来选择是否加密,是否进行安全认证。

第9章服务网关:Spring Cloud Gateway;本章介绍了Spring Cloud 的另一大组件:服务网关,它是外部通信的唯一入口。在实际项目中,我们需要对接口进行安全性校验,而一套微服务架构可能存在成千上万个服务,不可能对每个服务都单独实现安全机制,而应通过服务网关统一拦截。Spring Cloud Gateway 默认实现了负载均衡,一个服务可以部署到多台服务器,通过其负载均衡机制,.可以有效地提升系统的并发处理能力。

第10章功能开发;本章中我们正式开始了实战项目的功能开发。通过本章的学习,我们了解了如何高效地使用MyBatis,简化我们的持久层开发,亦了解了接口的安全性校验,达到提升系统的安全性的目的。

第三部分(高级篇):第 11~13章。第二部分的内容已经是一套完整的微服务架构,但是在实际的生产中,尤其对于并发要求较高的系统来说是远远不够的,因此这部分集成了微服务的高级用法。

第11章服务间通信:Spring Cloud Netflix Ribbon和Spring Cloud OpenFeign;本节介绍了Spring Cloud Netflix Ribbon和Spring Cloud OpenFeign,通过两者的对比,推荐读者使用OpenFeign,此组件也是在微服务应用中运用最广泛的组件之一。通过OpenFeign,我们可以轻松实现服务间的通信,极大地降低系统的耦合性。通过OpenFeign 的负载均衡,提升系统间调用的稳定性和并发数,利用其集成的熔断器,使应用的稳定性进一步提升。

第12章服务链路追踪:Spring Cloud Sleuth;随着业务越来越复杂,一个看似简单的应用,它的后台可能有几十个甚至几百个服务在支撑。一个请求可能需要多次调用服务才能完成,当请求速度变慢或者不可用时,我们无法得知是哪个服务引起的,这时就需要快速定位服务故障点,Zipkin很好地解决了这个问题。

通过本章的学习,读者可以了解到如何实现微服务的链路追踪,并且将追踪数据存储到硬盘中,以便离线分析数据,为快速定位服务故障点提供支持。

第13章服务治理:Spring Cloud Consul和Spring Cloud ZooKeeper;Spring Cloud默认服务治理框架为Netflix的Eureka框架,但它不是唯一的选择,Spring Cloud还集成了Consul和ZooKeeper供读者选择。

本章分别介绍了Spring Cloud Consul和 Spring Cloud ZooKeeper的安装部署和集成,从多元化思想出发,使读者在实际开发中有了更多的选择。本章简要介绍了两个服务治理框架的注册与发现、健康检查等。和 Eureka一样,它们也有许多特性,由于篇幅原因,没有一一介绍,其原理和 Eureka 一致,在深入了解后,读者完全可以在此基础上进一步优化架构。

第四部分(部署篇):第14~15章。系统最终会发布到网络上,传统的系统发布由人工上传并启动应用,而这在微服务架构中是不可取的,因为一套微服务架构可能由很多服务构成,人工启动应用的工作量会非常巨大,所以有必要让读者了解分布式系统的部署细节。

第14章系统发布上线;本章进入了系统发布阶段,先介绍了Linux操作系统的安装与操作,然后介绍了项目的编译与打包,最后讲解了如何通过Jenkins自动发布系统。通过本章的学习,读者可以独立完成系统的构建和发布工作。

第15章使用Kubernetes部署分布式集群;通过本章的学习,读者可以了解到Docker+K8S搭建集群环境的全过程,亦可独立完成集群环境的搭建,并能利用K8S部署微服务应用。

              资源获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

 精彩专栏推荐订阅:下方专栏👇🏻👇🏻👇🏻👇🏻

每天学四小时:Java+Spring+JVM+分布式高并发,架构师指日可待

大佬对本文的高度评价

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值