Spring Cloud
文章平均质量分 94
版本选择:Spring Cloud Hoxton版本 + Spring Cloud Alibaba 版本(截止 2020年2月最新版)
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
扛麻袋的少年
得过且过,一天又一天
展开
-
Spring Cloud H版 + Spring Cloud Alibaba 教程目录
目录:基于 Spring Cloud Hoxton 版本、Spring Cloud Alibaba Nacos 1.3.1 版本、Sentinel 1.7.2 版本、Seata 1.2.0 版本 介绍Spring Cloud 专栏:微服务架构 与 Spring Cloud 的前世今生Spring Boot 与 Spring Cloud 之间的版本选择基于 RestTemplate 搭建微服务工程SpringCloud 整合 Eureka 实现服务注册中心自定义服务在 Eureka 上的实例名原创 2020-08-01 16:38:31 · 5166 阅读 · 9 评论 -
微服务架构 与 Spring Cloud 的前世今生
1.什么是微服务架构2.Spring Cloud 介绍3.Spring Cloud 集成有哪些优质项目4.Dubbo 对比 Spring Cloud5.Spring Cloud 体系那么多框架都要学吗?6.Spring Cloud 升级后的替代品原创 2020-07-07 13:41:08 · 1676 阅读 · 6 评论 -
Spring Boot 与 Spring Cloud 之间的版本选择
本文目录:写在开头1.Spring Cloud 版本规则2.版本选型问题2.1 Spring Boot 选择2.2 Spring Cloud 版本选择3.接口方式查询版本对应关系写在开头 在学习 Spring Cloud 之前,我们需要知道这么一个前提:Spring Cloud 必须使用 Spring Boot 开发。所以在学习 Spring Cloud 之前,你得会使用 Spring Boot。 截止 2020 年 7 月 7日。尽管 Spring Boot 最新版本已经是 2.3.1,Spri原创 2020-07-07 15:52:07 · 1725 阅读 · 4 评论 -
基于 RestTemplate 搭建微服务工程
写在开头 本文仅用来对【没有微服务架构思想】的初学者学习。如果你不是,请略过。出于对初学者友好,特增设此篇。本文与Spring Cloud 无关联。我们使用 RestTemplate ,来搭建一个微服务项目。现在有两个模块:服务提供模块(模块名:cloud-provider-payment8001)服务消费模块(模块名:cloud-consumer-order80) 这两个模块之间的通信,是基于 RestTemplate 来完成通信的。RestTemplate 类似于我们之前使用过的 Ht原创 2020-07-07 19:17:59 · 1470 阅读 · 3 评论 -
SpringCloud 整合 Eureka 实现服务注册中心
写在开头 接上一篇文章:基于 RestTemplate 搭建微服务工程。进行了简单的微服务工程搭建。或许你也会有疑问。既然 RestTemplate 就可以搞微服务了,为什么还要用那么多的 Eureka、Ribbon、Spring Cloud Alibaba 等一套体系呢?这不是画蛇添足吗? Eureka 在2.0 版本已经停更,本文只是简单介绍它的使用。替代 Eureka 的 Spring Cloud Alibaba Nacos ,后续也会有介绍,请继续往下看1.为什么要使用Spring Clo原创 2020-07-08 11:32:55 · 1486 阅读 · 7 评论 -
自定义服务在 Eureka 上的实例名
写在开头 接上一篇文章:Eureka 加入微服务体系。当我们将服务注册到 Eureka Server 后,我们在 Eureka Server 中就能够看到相对应的服务实例名,如下图所示。服务实例名 当服务实体向 Eureka Server 注册时,注册名默认是 "IP名:应用名:应用端口名",在 Eureka Server 中显示如图。根据需要,我们也可以自定义实例名。只需要简单添加两行配置即可:eureka: instance: # 主机名称修改(配置后Eureka Serv原创 2020-07-08 16:03:57 · 1795 阅读 · 0 评论 -
关闭 Eureka 自我保护模式
什么是保护模式 保护模式,主要用于一组客户端 和 Eureka Server 之间存在网络分区场景下的保护。一旦进入保护模式,Eureka Server 将会尝试保护其服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务实例。 当我们在 Eureka Server 服务首页中,看到有如下这段提示,则说明此时 Eureka Server 已经进入了保护模式。Eureka Server 为什么会进入保护模式 默认情况下,如果 Eureka Server 在一定时间内没有收到某原创 2020-07-08 16:55:19 · 1392 阅读 · 0 评论 -
Eureka 开启账号密码认证、开启 https 支持
1.Eureka 开启账号密码登录2.Eureka 开启 https 支持原创 2022-03-02 14:25:38 · 4548 阅读 · 0 评论 -
SpringCloud 整合 Zookeeper 实现服务注册中心
写在开头 接上一篇文章:Eureka 加入微服务体系。随着 Eureka 2.0 的闭源停更。Eureka 作为 Spring Cloud 优先选择的服务注册与发现组件,它的太子之位也就不保了。 我们可以通过 Eureka GitHub wiki 页 来l了解一下 Eureka。在文中有这样一句内容:Eureka 1.x is a core part of Netflix's service discovery system and is still an active project.。虽说 Eu原创 2020-07-08 21:12:20 · 892 阅读 · 5 评论 -
SpringCloud 整合 Consul 实现服务注册中心
本文目录:写在开头1.Consul 的介绍Consul 优点:Consul 服务注册中心架构2.准备工作1.Consul 安装2.基于 Consul 实现服务注册中心工程搭建2.1 创建一个服务提供者Ⅰ. pom.xml 引入依赖Ⅱ. application.yml 配置文件修改Ⅲ. 编写controllerⅣ. 项目启动2.2.创建一个服务消费者Ⅰ pom.xml 引入依赖Ⅱ.application.yml 配置文件修改Ⅲ.同样使用 RestTemplate 进行服务调用Ⅳ.编写controllerⅤ.原创 2020-07-10 12:32:35 · 833 阅读 · 2 评论 -
SpringCloud 整合 Ribbon 实现服务调用(负载均衡)
本文目录:写在开头1.什么是 Ribbon2.负载均衡1.集中式负载均衡2.进程内负载均衡3.两种负载均衡对比图解3. RestTemplate3.1 xxxForObject 和 xxxForEntity 的区别3.2 使用示例4. RestTemplate 整合 Ribbon4.1 @LoadBalance注解4.2 项目引入Ribbon5.Ribbon 负载均衡策略5.1 负载均衡策略5.2 负载均衡策略修改(轮询 修改为 随机)5.4 自定义负载均衡算法写在开头 接上一篇文章:Eureka 加原创 2020-07-10 18:35:13 · 1058 阅读 · 2 评论 -
Spring Cloud 整合 OpenFeign 实现服务调用(负载均衡)
本文目录:写在开头1.Feign 和 OpenFeign 区别2.Feign 用在微服务客户端3.有了Ribbon,为什么还要一个OpenFeign3.1 OpenFeign 让开发变得容易3.2 从此与 Ribbon 分手4.OpenFeign 在 Spring Cloud 中使用写在开头 接上一篇文章:Spring Cloud 整合 Ribbon 实现负载均衡。我们已经知道: 在引入 Ribbon 组件(在引入最新的 eureka 客户端依赖时,它默认已经帮我们集成了原创 2020-07-11 00:25:49 · 5246 阅读 · 0 评论 -
Feign 使用 @SpringQueryMap 来解决多参数传递问题
在实际项目开发过程中 , 我们使用 Feign 实现了服务与服务之间的调用。 但是在很多情况下, 多参数传递是无法避免的。在 Web 开发中,Spring MVC 是支持 GET 方法直接绑定 POJO 的。但是 Feign 的实现并没有覆盖所有的 Spring MVC 的功能。 在Spring Cloud 在 2.1.x 版本中,提供了 @SpringQueryMap 注解,通过该注解可以传递对象参数。(在旧版本以前,我们可以通过拦截器的方式,来将多参数转换成 Map 的方式进行传递。有了注解方式原创 2022-04-01 14:39:54 · 4625 阅读 · 0 评论 -
利用 Spring Security 实现微服务之间简单的安全校验
1.服务提供方添加账号、密码校验1.1 引入pom依赖1.2 application.yml 对账号、密码进行配置2.服务消费方进行服务调用2.1 RestTemplate方式1. HttpHeaders头信息配置2.将头信息添加到 RestTemplate 调用中2.2 Feign方式1. FeignConfig 配置2. 在@FeignClient 中,指定configuration3.在微服务中开启统一的安全服务3.1 服务提供方添加账号、密码校验3.2 添加全局权限校验配置类原创 2022-03-07 14:42:42 · 5687 阅读 · 3 评论 -
Spring Cloud 整合 Hystrix 实现服务降级、服务熔断、服务限流
本文目录:写在开头1.分布式系统面临的问题1.1 服务雪崩2.什么是 Hystrix3. Hystrix 停更进入维护 + Hystrix 替代者4. Hystrix 概念4.1 服务降级(fallback)4.2 服务熔断(break)4.3 服务限流(flowlimit)5. Hystrix应用场景分析6.Hystrix 实现服务降级(重点)6.1 服务端实现服务降级Ⅰ.引入pom.xml 依赖Ⅱ.主启动类,添加 @EnableCircuitBreaker注解Ⅲ.服务提供接口实现,添加降级处理方法Ⅳ.服原创 2020-07-14 17:41:49 · 2288 阅读 · 7 评论 -
Hystrix Dashboard 可视化监控
本文目录:写在开头1.Hystrix Dashboard 的使用1.1 操作Hystrix Dashboard模块Ⅰ. 创建工程Ⅱ. pom.xml 依赖Ⅲ. 修改application.yml 配置Ⅳ. 在启动类上添加 @EnableHystrixDashboard 注解Ⅴ. 被监听的服务提供者,都需要添加actuator依赖Ⅵ. 启动Hystrix Dashboard模块1.2 操作`服务提供`模块Ⅰ. 配置Hystrix 指定监控路径Ⅱ. 开启监控Ⅲ. 监控测试2.Hystrix Dashboard原创 2020-07-14 22:45:42 · 973 阅读 · 0 评论 -
Turbine 聚合 Hystrix,实现在 Hystrix Dashboard 中监控多个服务
在上篇文章:Hystrix Dashboard 可视化监控,已经了解了 Hystrix Dashboard 的基本使用。它的主要功能是可以对某一项微服务进行监控,但真实情况下,不可能只对一个微服务进行监控,我们有很多微服务,所以我们需要对很多微服务进行监控,这个时候就需要使用到Turbine [ˈtɜːbaɪn] 来完成。Turbine 就是来聚合所有相关的 hystrix.stream 流的方向,然后在 Hystrix Dashboard 中显示。1.介绍单个hystrix服务的监控(如下图):原创 2022-01-28 10:38:59 · 768 阅读 · 0 评论 -
Hystrix 隔离策略:线程池、信号量
记一次被问到的面试题:Hystrix系列之信号量、线程池Hystrix内部,提供了两种模式隔离策略:信号量、线程池。(默认情况下,Hystrix使用 线程池模式。)信号量隔离,适应非网络请求,因为是同步的请求,无法支持超时,只能依靠协议本身线程池隔离,即:每个实例都增加个线程池进行隔离总结:线程池隔离信号量隔离是否支持超时支持,超时直接返回不支持,如果阻塞,只能通过调用协议(如:socket超时才能返回)是否支持熔断支持,当线程池到达maxSize后,再请原创 2020-08-10 20:20:39 · 2260 阅读 · 6 评论 -
Spring Cloud Gateway 微服务新一代网关
本文目录:写在开头1.为什么选择 Gateway2.Gateway 是什么2.1 GateWay 具有的特性2.2 Spring Cloud Gateway 和 Zuul 的区别2.3 Gateway 三大概念Ⅰ、Route(路由)Ⅱ、Predicate(断言)Ⅲ、Filter(过滤)3.微服务架构网关所在位置4.Gateway 工作流程5.将 Gateway 引入微服务项目5.1 新建网关模块5.2 引入 pom.xml 依赖5.3 配置文件 application.yml 修改5.4 主启动类5.5原创 2020-07-15 16:35:42 · 1237 阅读 · 1 评论 -
Spring Cloud Gateway 动态路由管理,一点都不吹,应该没有比这更好的管理系统了吧
本文介绍的 Spring Cloud Gateway 动态路由。不比其他博客通篇 copy 的 Gateway 动态路由,我为你们提供了一套完整的动态路由管理系统。提供以下3个项目:Spring Cloud Gateway 动态路由配置源码Spring Cloud Gateway 动态路由后台管理项目源码Spring Cloud Gateway 动态路由后台页面源码(基于Vue)先来几个截图吧。 以往一篇文章:Spring Cloud Gateway 微服务新一代网关,已经有详细介原创 2022-04-18 10:47:46 · 3650 阅读 · 0 评论 -
Spring Cloud Config 实现分布式配置中心、动态刷新机制配置
本文目录:写在开头1.微服务面临的问题2.了解 Spring Cloud Config2.1 Config 何方神圣 (Config 是什么)2.2 Config 结构图2.3 Config 能帮我们干吗 (Config 功能)3. Git 远程服务器配置Ⅰ.创建存储 Config 的新 Repository写在开头 接上一篇文章:Spring Cloud Gateway 微服务新一代网关。了解完 Gateway 网关的使用后,本文来介绍 Spring Cloud Config 分布式配置中心 相关内原创 2020-07-16 23:46:18 · 1471 阅读 · 5 评论 -
Spring Cloud Bus 服务总线,实现全局广播/定点通知
本文目录:写在开头环境说明1.了解 Spring Cloud Bus2.1 Bus 何方神圣 (Bus 是什么)2.2 Bus 原理2.Bus的两种设计思想2.1 触发客户端2.2 触发服务端2.3 如何选型3.环境搭建4.Bus 动态刷新全局广播配置4.1 集群版客户端组建4.2 服务端配置中心/客户端 pom 引入Bus总线依赖4.3 服务端配置中心 application.yml 修改 (添加 rabbitmq 相关配置)4.4 客户端 application.yml 修改 (同样添加 rabbitm原创 2020-07-17 16:28:08 · 2081 阅读 · 0 评论 -
Spring Cloud Stream 消息驱动,MQ之间交流更灵活
本文目录:写在开头1.微服务面临的问题1. 什么是 Spring Cloud Stream2. 标准MQ 和 Spring Cloud Stream 对比2.1 标准 MQ 结构图2.2 Spring Cloud Stream 结构图3. Spring Cloud Stream如何统一底层差异4. Spring Cloud Stream 执行流程5. 编码API和常用注解6. 上代码6.1 生产者配置Ⅰ.引入 pom 依赖6.1 消费者配置写在开头 接上一篇文章:Spring Cloud Bus 服原创 2020-07-18 20:13:24 · 894 阅读 · 7 评论 -
Spring Cloud Sleuth + Zipkin 分布式链路追踪,链路调用更清晰
本文目录:写在开头1.Spring Cloud Sleuth 的由来2.调用结构图3.环境准备4.Sleuth测试环境搭建❤ 服务端/客户端 进行相同配置Ⅰ.都需要引入 zipkin + sleuth pom 依赖Ⅱ.都需要在 applicaiton.yml 添加 zipkin、sleuth 相同配置Ⅲ. 配置告一段落,具体业务下载代码查看吧Ⅳ.微服务服务调用测试写在开头 接上一篇文章:Spring Cloud Stream 消息驱动。掌握了 Spring Cloud Stream,使 MQ 之间通原创 2020-07-18 22:51:17 · 812 阅读 · 0 评论 -
Spring Cloud Alibaba 加入 Spring Cloud 体系
本文目录:写在开头1.什么是维护模式2.Spring Cloud Alibaba2.1 主要功能2.2 Spring Cloud Alibaba包含哪些组件2.3 官方参考文档写在开头 接上一篇文章:Spring Cloud Sleuth 分布式链路追踪,链路调用更清晰。我们已经了解完以下内容:Eureka、Consul、Zookeeper 用作 服务注册中心;Ribbon + RestTemplate、OpenFeign 用作 服务调用+负载均衡;Hystrix 用作 服务降级、服务熔断、原创 2020-07-20 21:23:38 · 893 阅读 · 4 评论 -
Spring Cloud Alibaba Nacos 用于服务注册和配置中心
本文目录:写在开头1.什么是 Nacos2.Nacos 安装运行3.Nacos 服务注册中心3.1基于Nacos的服务提供者Ⅰ.父pom引入spring-cloud-alibaba 依赖Ⅱ. 当前模块pom引入 nacos-discovery 依赖Ⅲ. applicaiton.yml 文件配置Ⅳ. 来个controller业务类Ⅴ. 启动服务模块,查看服务是否注册到 NacosⅥ. 再来个服务端,与 9001 组成集群3.2 基于Nacos的服务消费者Ⅰ.当前模块pom引入 nacos-discovery原创 2020-07-21 15:08:30 · 1454 阅读 · 9 评论 -
Nacos 集群搭建和持久化配置(Linux)
本文目录:写在开头1.Nacos集群架构图Ⅰ.Nacos集群官方架构图Ⅱ.Nacos集群真实架构图2.Nacos数据库支持3.Nacos 集群部署搭建3.0 节点部署情况3.1 derby 切换 mysql 数据库配置Ⅰ. 执行nacos-mysql.sql脚本Ⅱ. 修改application.properties,添加mysql支持3.2 cluster.conf 配置3.3 修改 nacos 启动堆栈大小3.4 使用scp命令,进行nacos配置分发3.5. Nginx负载均衡配置3.6.启动nacos原创 2020-07-22 13:47:00 · 1615 阅读 · 4 评论 -
Spring Cloud Alibaba Sentinel 介绍、简单使用
本文目录:写在开头1.Sentinel 是什么?2.安装Sentinel控制台2.1 安装2.2 Sentinel图形管理界面3.微服务项目整合Sentinel3.1 添加pom依赖3.2 application.yml 配置3.3 主启动类添加 @EnableDiscoveryClient 注解3.4 来个业务类3.5 启动项目,查看Sentinel是否成功监控写在开头 接上一篇文章:Nacos 集群搭建和持久化配置。掌握了 Nacos 用于 服务注册和配置中心,了解了 Nacos 集群环境的搭建原创 2020-07-23 11:24:42 · 1282 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 流控、熔断、热点、系统规则详解
1.流控规则1.1 阈值类型:QPS1.2 阈值类型:线程数1.3 流控模式:直接1.4 流控模式:关联1.5 流控模式:链路1.6 流控效果:快速失败1.7 流控效果:Warm Up1.8 流控效果:排队等待2.降级规则2.1 RT2.2 异常比例2.3 异常数3.热点规则3.1 何为热点3.2 何为热点限流3.3 热点规则Ⅰ.基本配置Ⅱ.参数例外项配置4.系统规则1.系统规则支持以下模式:2. 入口QPS配置原创 2020-07-23 22:48:59 · 1699 阅读 · 13 评论 -
来聊聊@SentinelResource的用法
本文目录:写在开头1.@SentinelResource 属性介绍2. fallback 指定Java异常兜底方法3. blockHandler 指定 Sentinel 配置兜底方法4. exceptionsToIgnore 用于指定异常不走兜底方法5.defaultFallback 用于指定通用的 fallback 兜底方法写在开头 接上一篇文章:Spring Cloud Alibaba Sentinel 流控、降级、热点、系统规则详解。了解完 Sentinel 流控、降级、热点、系统规则后,本文原创 2020-07-29 10:42:03 · 3725 阅读 · 2 评论 -
Spring Cloud Gateway集成sentinel进行网关限流
在 Sentinel 1.8.6 版本中,使用 Gateway 被限流后,并没有返回该网页无法正常运作(localhost未发送任何数据),不知道是不是我配置有问题??此时就需要自定义流控异常返回了,配置自定义异常后就好了yml和代码。代码方式的话可以根据抛出的异常类型,响应不同的错误码。1.yml方式配置spring:cloud:sentinel:scg:fallback:response-body: '{"code": 429,"message": "前方拥堵,请稍后再试!"}'原创 2023-09-06 16:23:18 · 627 阅读 · 0 评论 -
Sentinel 控制台规则持久化(Sentinel1.8.6规则持久化到Nacos2.2.0)
本文目录:写在开头Sentinel 监控数据持久化问题写在开头 接上一篇文章:来聊聊@SentinelResource的用法。了解了@SentinelResource 注解的使用,本文来了解 Sentinel 中已经配置好的流控、降级等规则的持久化问题。Sentinel 监控数据持久化问题 在 Sentinel 中,我们会为多个服务进行 流控、限流、热点 等规则 的配置,但是当服务重启后再进入 Sentinel 后,发现之前配置过的规则都不在了,这样子的体验显然不友好,此时就需要我们对 Sen原创 2020-07-30 19:48:14 · 1603 阅读 · 2 评论 -
Spring Cloud Alibaba Seata 分布式事务解决方案简介
本文目录:写在开头1.分布式事务的问题1.1 用例1.2 架构图1.3 分布式事务解决方案2 什么是 Seata3.Seata 术语表4. Seata 功能5. AT 模式Ⅰ.前提Ⅱ.优缺点Ⅲ.整体机制Ⅳ.写隔离Ⅴ.读隔离Ⅵ.工作机制一阶段二阶段-回滚二阶段-提交写在开头 接上一篇文章:Sentinel 控制台规则持久化。从本节内容开始,我们来了解一个全新的产物:Spring Cloud Alibaba Seata 分布式事务。开篇先附上部分 Seata 相关内容:Seata 官网Seata原创 2020-07-30 21:54:15 · 1444 阅读 · 0 评论 -
Spring Cloud 整合 Nacos 1.3.1 + Seata 1.2.0 集群部署(Windows版)
本文目录:写在开头1.环境说明2. Seata 开始部署2.1 Seata 1.3.0 下载2.2 Github 资源目录介绍写在开头 接上一篇文章:Spring Cloud Alibaba Seata 分布式事务解决方案简介。简单的了解 Seata 过后,我们来进入实战阶段。 Seata 官方部署 新人文档 ,不由的想再次吐槽。部署比较简单,但是初学者直接部署 1.x 以上版本好困难的说,文档看的你是一脸懵逼。我研究了2天才全套部署成功,以博客的方式分享给大家。1.环境说明 本文 Sea原创 2020-07-31 21:48:51 · 2501 阅读 · 22 评论