![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud 极简入门
内容通俗易懂,更适合初学者。重实操性,专栏包含一个完整的项目实战,通过开发项目掌握技术的实际应用。案例理论结合,专栏以实际案例为主,更有利于上手应用。
优惠券已抵扣
余额抵扣
还需支付
¥39.00
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Java大联盟
资深Java开发工程师,热爱技术交流与分享,教程内容深入浅出,通俗易懂,覆盖Java全栈开发。
展开
-
Spring Boot 快速入门
前言从本节课开始,我们进入 Spring Boot 框架的学习,Spring Boot 是当前 Java 领域主流的技术栈,同时也是整个 Spring 全家桶中非常重要的一个模块。Spring Boot 简介Spring 作为一个软件设计层面的框架,在 Java 企业级开发中应用非常广泛,但是 Spring 框架的配置非常繁琐,且大多是重复性的工作,Spring Boot 的诞生就解决了这一...原创 2020-10-28 16:09:36 · 174 阅读 · 0 评论 -
Spring Boot 启动原理
Spring Boot 自动配置原理通过上节课的学习,大家已经掌握了 Spring Boot 框架的基本使用,你会发现使用 Spring Boot 进行项目开发真的是非常简单,可以极大地提升开发效率。这是因为 Spring Boot 框架已经预先帮助开发者完成了各种自动配置,使得开发者可以将精力全部集中在业务代码的开发中,而非配置文件。Spring Boot 最核心的功能简单概括就是四个字:自...原创 2020-10-28 16:09:37 · 103 阅读 · 0 评论 -
微服务概述
前言为什么要使用微服务?传统的 Java Web 都是采用单体架构的方式来进行开发、部署、运维的,所谓单体架构就是将 Application 的所有业务模块全部打包在一个文件中进行部署。但是随着互联网的发展、用户数量的激增、业务的极速扩展,传统的单体应用方式的缺点就逐渐显现出来了,给开发、部署、运维都带来了极大的难度,工作量会越来越大,难度越来越高。因为在单体架构中,所有的业务模块的耦合性太...原创 2020-10-28 16:09:37 · 143 阅读 · 0 评论 -
注册中心
前言上节课我们描述了微服务的理论知识,本节课进入 Spring Cloud 的学习阶段,首先我们来学习服务治理。服务治理的核心组成有三部分:服务提供者,服务消费者,注册中心。在分布式系统架构中,每个微服务(服务提供者、服务消费者)在启动时,将自己的信息存储在注册中心,我们把这个过程称之为服务注册。服务消费者要调用服务提供者的接口,就得找到服务提供者,从注册中心查询服务提供者的网络信息,并通过...原创 2020-10-28 16:09:38 · 100 阅读 · 0 评论 -
服务提供者
前言上节课说到 Eureka Server 是注册中心,分布式系统架构中的所有微服务都需要在注册中心完成注册才能被发现进而使用,我们所说的服务提供者和服务消费者是从业务角度来划分的,实际上服务提供者和服务消费者都是通过 Eureka Client 连接到 Eureka Server 完成注册,本节课我们就来一起实现一个服务提供者,并且在 Eureka Server 完成注册,大致思路是先通过 S...原创 2020-10-28 16:09:38 · 91 阅读 · 0 评论 -
跨服务接口调用神器 RestTemplate
前言在实现服务消费者之后,我们先来学习 RestTemplate 的使用,通过 RestTemplate 可以实现不同微服务之间的调用。什么是 RESTREST 是当前比较流行的一种互联网软件架构模型,通过统一的规范完成不同终端的数据访问和交互,REST 是一个词组的缩写,全称为 Representational State Transfer,翻译成中文的意思是资源表现层状态转化。特点1...原创 2020-10-28 16:09:39 · 387 阅读 · 0 评论 -
服务消费者
前言在前面的课程中,我们通过 Eureka Client 组件创建了一个服务提供者 provider,并且在注册中心完成注册,接下来其他微服务就可以访问 provider 相关服务了。本节课我们就来实现一个服务消费者 consumer,调用 provider 相关接口,实现思路是先通过 Spring Boot 搭建一个微服务应用,再通过 Eureka Client 将其注册到 Eureka S...原创 2020-10-28 16:09:39 · 108 阅读 · 0 评论 -
用服务网关统一 URL,开发更简洁
前言在分布式项目架构中,我们会将服务进行拆分,不同的微服务负责各自的业务功能,实现软件架构层面的解耦合。但是如果拆分之后的微服务数量太多,是不利于系统开发的,因为每个服务都有不同的网络地址,客户端多次请求不同的微服务需要调用不同的 URL,如果同时去维护多个不同的 URL 无疑会增加开发的成本。如下图所示,一个外卖订餐系统,需要调用多个微服务接口才能完成一次订餐的业务流程,如果能有一种解决方案...原创 2020-10-28 16:09:40 · 362 阅读 · 0 评论 -
Ribbon 负载均衡
前言在前面的课程中我们已经通过 RestTemplate 实现了服务消费者对服务提供者的调用,这只是实现了最基本的需求,如果在某个具体的业务场景下,对于某服务的调用需求激增,这时候我们就需要为该服务实现负载均衡以满足高并发访问,在一个大型的分布式应用系统中,负载均衡(Load Balancing)是必备的。什么是 Ribbon?Spring Cloud 提供了实现负载均衡的解决方案:Spri...原创 2020-10-28 16:09:40 · 86 阅读 · 0 评论 -
Spring Cloud Feign 声明式接口调用
前言上节课我们学习了使用 Ribbon + RestTemplate 实现服务调用的负载均衡,在实际开发中,还有另外一种更加便捷的方式来实现同样的功能,这就是 Feign,本节课中我们就来学习使用 Feign 实现服务消费的负载均衡。什么是 Feign与 Ribbon 一样,Feign 也是由 Netflix 提供的,Feign 是一个提供模版的声明式 Web Service 客户端, 使用...原创 2020-10-28 16:09:40 · 148 阅读 · 0 评论 -
Hystrix 容错监控机制
前言上节课我们说到 Feign 提供了容错功能,该功能是结合 Hystrix 实现的,本节课我们就来学习 Hystrix 的相关知识。什么是微服务容错机制?在一个分布式系统中,各个微服务之间相互调用、彼此依赖,实际运行环境中可能会因为各种个样的原因导致某个微服务不可用,则依赖于该服务的其他微服务就会出现响应时间过长或者请求失败的情况,如果这种情况出现的次数较多,从一定程度上就可以能导致整个系...原创 2020-10-28 16:09:41 · 132 阅读 · 0 评论 -
Spring Cloud Config 本地配置
前言在基于微服务的分布式系统中,每个业务模块都可以拆分为一个独立自治的服务,多个请求来协同完成某个需求,在一个具体的业务场景中某个请求可能需要同时调用多个服务来完成,这就存在一个问题,多个微服务所对应的配置项也会非常多,一旦某个微服务进行了修改,则其他服务也需要作出调整,直接在每个微服务中修改对应的配置项是非常麻烦的,改完之后还需要重新部署项目。微服务是分布式的,但是我们希望可以对所有微服务的...原创 2020-10-28 16:09:41 · 420 阅读 · 0 评论 -
搭建消息中间件 RabbitMQ 环境
前言在学习远程配置中心之前,我们先来学习如何安装 RabbitMQ,因为远程配置中心的动态更新需要结合 RabbitMQ 来使用。什么是 RabbitMQRabbitMQ 是消息队列中间件,它适用于分布式系统,功能是完成消息的存储转发,RabbitMQ 底层是用 Erlang 语言来实现的。消息队列(Message Queue )为不同的 Application 之间完成通信提供了可能,需要...原创 2020-10-28 16:09:41 · 141 阅读 · 0 评论 -
Spring Cloud Config 远程配置
前言前面的课程我们学习了本地 Config Server 的搭建方式,本节课我们一起学习远程 Config Server 的环境搭建,即将各个微服务的配置文件放置在远程 Git 仓库中,通过 Config Server 进行统一管理,本课程中我们使用基于 Git 的第三方代码托管远程仓库 GitHub 作为远程仓库,实际开发中也可以使用 Gitee、SVN 或者自己搭建的私服作为远程仓库,Con...原创 2020-10-28 16:09:42 · 115 阅读 · 0 评论 -
Zipkin 服务跟踪
前言本节课我们来学习服务跟踪,首先来思考一个问题,为什么要有服务跟踪,我们知道一个分布式系统中往往会部署很多个微服务,这些服务彼此之间会相互调用,整个过程就会较为复杂,我们在进行问题排查或者优化的时候工作量就会比较大。如果能准确跟踪每一个网络请求的整个运行流程,获取它在每个微服务上的访问情况、是否有延迟、耗费时间等,这样的话我们分析系统性能,排查解决问题就会容易很多,我们使用 Zipkin 组件...原创 2020-10-28 16:09:42 · 186 阅读 · 0 评论 -
微服务项目实战:环境搭建
前言经过前面课程的学习,大家已经对微服务架构的理论有了一定的了解,并且也掌握了 Spring Cloud 相关组件的使用,一切的理论学习都是为了实际应用,通过实践也能更好的去消化理论知识,从本节课开始,我们将一起来搭建一个基于微服务架构的外卖点餐系统实际案例。本节课首先来搭建 Spring Cloud 实战项目的基础环境。项目需求本项目分为客户端和后台管理系统两个界面,客户端针对普通用户,...原创 2020-10-28 16:09:42 · 254 阅读 · 0 评论 -
注册中心和配置中心
前言上节课我们搭建了 Spring Cloud 实战项目的基本环境,本节课我们来实现注册中心和配置中心。注册中心注册中心是管理调度微服务的核心组件,每个服务提供者或者服务消费者在启动时,会将自己的信息存储在注册中心,服务消费者可以从注册中心查询服务提供者的网络信息,并通过此信息来调用服务提供者的接口。微服务实例与注册中心通过心跳机制完成交互,如果注册中心长时间无法连接某个微服务实例,就会自动...原创 2020-10-28 16:09:43 · 1933 阅读 · 0 评论 -
服务提供者 account
前言本节课我们来实现服务提供者 account,account 为系统提供所有的账户相关业务,包括用户和管理员登录、退出,具体实现如下所示。1. 在父工程下创建建一个 Module,命名为 account,pom.xml 添加相关依赖,account 需要访问数据库,因此要添加 MyBatis 相关依赖,同时配置文件从 Git 仓库拉取,所以还要添加 Spring Cloud Config 相...原创 2020-10-28 16:09:43 · 121 阅读 · 0 评论 -
服务提供者 menu
前言本节课我们来实现服务提供者 menu,menu 为系统提供菜品相关服务,包括添加菜品、查询菜品、修改菜品、删除菜品,具体实现如下所示。1. 在父工程下创建一个 Module,命名为 menu,pom.xml 添加相关依赖,menu 需要访问数据库,因此集成 MyBatis 相关依赖,配置文件从 Git 仓库拉取,添加配置中心 Spring Cloud Config 相关依赖。<de...原创 2020-10-28 16:09:44 · 128 阅读 · 0 评论 -
服务提供者 order
前言本节课我们来实现服务提供者 orde,order 为系统提供订单相关服务,包括添加订单、查询订单、删除订单、处理订单,具体实现如下所示。1. 在父工程下创建一个 Module,命名为 order,pom.xml 添加相关依赖,order 需要访问数据库,所以集成 MyBatis 相关依赖,配置文件从 Git 仓库拉取,添加配置中心 Spring Cloud Config 相关依赖。<...原创 2020-10-28 16:09:44 · 243 阅读 · 0 评论 -
服务提供者 user
前言本节课我们来实现服务提供者 user,user 为系统提供用户相关服务,包括添加用户、查询用户、删除用户,具体实现如下所示。1. 在父工程下创建一个 Module,命名为 user,pom.xml 添加相关依赖,user 需要访问数据库,所以集成 MyBatis 相关依赖,配置文件从 Git 仓库拉取,添加配置中 Spring Cloud Config 相关依赖。<dependen...原创 2020-10-28 16:09:44 · 97 阅读 · 0 评论 -
服务消费者 clientfeign
前言前面的课程我们已经实现了注册中心、配置中心以及各种服务提供者,本节课我们来实现服务消费者 clientfeign,完成客户端的相关业务,分别调用服务提供者 account、menu、order、user 的相关服务,并通过 Feign 实现负载均衡。1. 在父工程下创建一个 Module ,命名为 clientfeign,pom.xml 添加相关依赖,集成 Feign 和 Thymelea...原创 2020-10-28 16:09:45 · 216 阅读 · 0 评论 -
Spring Cloud 面试题汇总
至此,本专栏为大家详细讲解 Spring 全家桶最热门的模块 Spring Cloud 的使用,包括服务网关、Ribbon、Feign、Hystrix、Spring Cloud Config 等,涵盖了实际开发中常用的技能点,理论结合实践的方式不仅仅让读者掌握基本概念,同时具备使用 Spring Cloud 搭建微服务架构的能力。快速上手 Spring Cloud -> Spring Cl...原创 2020-10-28 16:09:45 · 261 阅读 · 0 评论