![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SpringBoot+SpringCloud
文章平均质量分 80
微服务
苹果香蕉西红柿
这个作者很懒,什么都没留下…
展开
-
@SpringBootApplication注解源码解析
目录一. SpringBoot 启动类注解 @SpringBootApplication二. SpringBoot 实现自动配置的核心 @EnableAutoConfiguration一. SpringBoot 启动类注解 @SpringBootApplication@SpringBootApplication 注解源码,该注解是一个复合注解,通过@SpringBootConfiguration注解提供设置类为配置类功能,通过@ComponentScan 提供扫描当前类同级与子级包下的所有类开启,添加原创 2020-08-25 19:07:21 · 269 阅读 · 0 评论 -
SpringBoot是怎么整合MVC的
当项目中引入了web依赖后,会在META-INF目录的spring.factories文件中保存DispatcherServletAutoConfiguration的全限定名,在SpringBoot启动时自动加载该文件,初始化文件中的类查看DispatcherServletAutoConfiguration 源码该类中有一个DispatcherServlet 静态内部类,通过静态内部类中的dispatcherServlet()方法,创建一个DispatcherServlet使用@Bean注解注.原创 2020-08-25 19:00:36 · 566 阅读 · 0 评论 -
七. OpenFeign 服务接口调用
目录一. 基础介绍二. 使用 OpenFeign 调用服务接口的实现步骤服务提供方服务消费方OpenFeign 调用服务超时问题OpenFeign 日志打印功能服务消费方 yml 中配置 Feign 调用超时与 Feign 日志一. 基础介绍Feign 与 OpenFeign 的区别, Feign 停止更新后,SpringCloud 在 Feign 基础上进行增强推出的 Rest Clien...原创 2020-05-08 09:55:09 · 563 阅读 · 1 评论 -
六. SpringCloud Alibaba Sentinel 持久化数据到Nacos与支持Feign
目录一. 持久化 Sentinel 对接口的配置到 Nacos配置持久化简单案例二. Sentinel 与 Feign 客户端一. 持久化 Sentinel 对接口的配置到 Nacos简单解释: 假设有服务接口需要通过 Sentinel 设置流量控制,熔断降级等,将该服务注入到 Sentinel, 然后在 Sentinel 中对该服务的接口进行流控,熔断降级设置,但是会发现一个问题,当该服务...原创 2020-05-08 09:53:12 · 360 阅读 · 0 评论 -
Spring Cloud Sleuth 请求链路跟踪
目录一. 基础解释zipkin 的使用二. 配置服务在调用时被 Spring Cloud Sleuth 监控一. 基础解释Spring Cloud Sleuth 请求链路跟踪,在微服务下,服务之间相互调用,可能为了实现某一个功能,执行某一个请求,会级联调用多个服务,为了更好的监控管理服务,提供 Sleuth 链路跟踪在 Spring Cloud Sleuth 链路跟踪中分为两块,Sleut...原创 2020-05-08 09:51:37 · 300 阅读 · 0 评论 -
五. SpringCloud Alibaba Sentinel 自定义降级
热点限流源码: com.alibaba.csp.sentinel.slots.block.BlockException原创 2020-05-08 09:50:58 · 973 阅读 · 0 评论 -
四. SpringCloud Alibaba Sentinel @SentinelResource 资源名限流降级与热点规则简单示例
目录一. 解释一. 解释在前面配置限流,熔断降级时,如果请求的接口超过阈值,执行降级,默认会执行Sentinel中的降级方法,返回异常信息"Blocked by Sentinel (flow limiting)",而在实际开发中,需要有触发降级的指定方法,响应用户自定义 fallBack 方法,作为降级执行的方法,分为默认降级方法,多个接口执行降级都会走着同一个降级方法,与指定方法触发降级...原创 2020-05-08 09:50:30 · 795 阅读 · 0 评论 -
三. SpringCloud Alibaba Sentinel 熔断降级
目录一. 简单解释RT异常比例异常数一. 简单解释当请求达到阈值后的熔断降级操作,在调用链路发生不稳定时,例如调用超时,发生异常率过高,对该调用链路开启限制调用,让请求快速失败,在当前窗口期内对该链路的请求都会自动熔断,防止请求等待,服务雪崩等问题RT:(秒级) 平均响应时间单位毫秒最大4900(需要更大时通过"-Dcsp.sentinel.statistic.max.rt=xx...原创 2020-05-08 09:49:27 · 171 阅读 · 0 评论 -
二. SpringCloud Alibaba Sentinel 流控
目录一. 简单介绍二. 流控模式"直接"快速失败"关联"快速失败三. 流控效果快速失败WarmUp 预热排队等待一. 简单介绍假设当前 Sentinel 监控的服务中有两个接口针对整个服务,或针对服务中的指定接口添加流量控制设置解释流量控制规则资源名称: 唯一名称,默认是请求接口路径针对来源: 针对调用者进行限流,也就是调用某个服务的上层服务名称,默认是 def...原创 2020-05-08 09:48:53 · 188 阅读 · 0 评论 -
一. SpringCloud Alibaba Sentinel 基础使用示例
目录一. 基础解释一. 基础解释github sentinelSpringCloud Alibaba Sentinel原创 2020-05-08 09:48:15 · 155 阅读 · 0 评论 -
四. Nacos windows 版配置持久化数据到 MySql
目录一. 简单解释二. Widows 版本 Nacos 持久化数据到 Mysql 数据库一. 简单解释在实际生产环境中 Nocas 是集群环境,防止一台 Nacos 宕机,无法注册获取服务,无法读取配置文件防止 Nacos 宕机或重启后数据丢失,Nacos 支持将数据统一持久化到数据库 Mysql(在不配置Nacos持久化到Mysql时,默认 Nacos 内置了一个嵌入式数据库derby...原创 2020-05-08 09:46:27 · 999 阅读 · 0 评论 -
三. Nacos 作为配置中心简单使用
目录一. 简单示例在 Nacos 上创建创建配置列表一. 简单示例使用 Nacos 作为配置中心,将配置变脸存放到 Naco 上, 需要读取配置变量的服务连接 Nacos,读取 Nacos 上的配置文件读取到变量,并且可以做到动态刷新在 Nacos 上创建创建配置列表启动 Nacos 进行访问,点击配置列表,点击 “+” 新建配置,输入 DataId 此处先简单理解为存放配置变量的配置...原创 2020-05-08 09:45:55 · 354 阅读 · 0 评论 -
二. Nacos 作为注册中心的简单使用
目录一. 简单解释二. 服务提供方三. 服务消费方一. 简单解释Nacos 可以作为注册中心,服务提供方以指定名称注册到 Nacos 上,服务消费方通过该名称在注册中心获取服务列表,本地负载进行调用Nacos 作为注册中心与其它注册中心的不同Nacos 底层通过 DiscoveryClient 实现服务的注册与发现 (SpringBoot中启动类添加 @EnableDiscovery...原创 2020-05-08 09:42:20 · 601 阅读 · 1 评论 -
一. Nacos Windows 单机版下载与运行
SpringCloud Alibaba Nacos 服务注册和配置中心,更易于构建云,原生应用的动态服务发现,配置管理,和服务管理平台,就是以前配置中心 Config + 注册中心 Eureka + Bus 消息总线的组合体Nacos 是 SpringCloud Alibaba 版本下的,项目中整合 spring-cloud-alibaba-dependencies 后,才可以引入 Nacos...原创 2020-05-08 09:41:58 · 3175 阅读 · 0 评论 -
SpringCloud Stream 消息驱动简单示例
目录一. 基础概述二. 生产方二. 消费方一. 基础概述为什么使用 SpringCloud Stream 解决了什么问题 : 构建消息驱动的微服务框架,屏蔽底层消息中间件的差异,统一消息的编程模型Stream 中有 Binder 对象,配置绑定消息中间件负责与消息中间件交互,通过 inputs ,outputs 操作 Stream Binder 消息数据,假设 一个项目中使用了多个消息中...原创 2020-05-08 09:37:48 · 112 阅读 · 0 评论 -
二. Config 分布式服务配置中心 + Bus 消息总线
目录一. 基础概述一. 基础概述Bus 消息总线,支持 RabbitMQ 和 Kafka 消息,整合了 Java 事件处理机制和消息中间件功能,将分布式系统节点与消息系统连接起来的框架通过 Bus 消息总线,实现管理和传播分布式系统间的消息,就像一个分布式执行器,可以用于广播消息,事件推送,实现指定功能,可以当做微服务,服务与服务之间的通信通道通过 config server...原创 2020-05-08 09:36:29 · 166 阅读 · 0 评论 -
一. Config 分布式配置中心
一. 解释Config 分布式配置中心出现的原因在前面的案例中,每创建一个微服务项目都需要创建一个 yml 配置文件,配置 连接的数据库,配置 注册到的注册中心,配置网关等待假设,根据需求变化,项目中以前连接的是 “testData01” 数据库,所有的yml 配置文件中进行了连接配置,可是现在要修改连接到 “testData02” 库,就需要更改每个微服务中的 yml 配合,比较繁琐提...原创 2020-05-08 09:36:04 · 167 阅读 · 0 评论 -
六. SpringCloud Ribbon 负载均衡与修改默认的负载策略
目录一. 基础概述二. Ribbon 核心组件 IRule 与负载算法三. 项目中如何修改负载策略一. 基础概述自己做的记录,推荐看大神的Ribbon的负载均衡策略及原理什么是负载均衡: 简单来说就是根据算法指定将用户的请求平摊分片到多个服务上,或打到指定的服务上,从而达到服务的高可用,负载均衡分为软负载nginx,lvs与应负载F5等在前面 SpringCloud 中使用注册中心,使用...原创 2020-05-08 09:31:20 · 3724 阅读 · 1 评论 -
三. Zuul 网关服务基础解释及基础搭建测试
目录一. 基础Zuul 与 Gateway 区别二. Zuul1 网关一. 基础什么是网关: 分布式环境下客户端请求统一通过网关服务进行接收,通过网关服务将请求转发到指定的服务器上有点像nginx,拦截到请求后可以实现权限控制,负载均衡,日志管理,接口调用监控等功能nginx 适用于服务端接收请求负载,将请求发送到网关服务,通过网关服务对接收到的请求进行一些拦截处理,例如黑名单,白名单等...原创 2020-05-08 09:30:03 · 204 阅读 · 0 评论 -
二. Gateway 网关基础使用示例与自定义全局过滤器
目录一. 步骤二. 创建 Eureka 注册中心服务一. 步骤需求,现在有一个服务需要使用 Gateway 网关服务实现转发访问创建目标服务,将目标服务注册到注册中心此处以 Eureka 为注册中心,创建 Eureka 注册中心服务创建 Gateway 网关服务,配置网关服务拦截目标服务路由,将网关服务注册到注册中心根据需求在网关服务中创建GatewayFilter 过滤器,实现拦截...原创 2020-05-08 09:29:38 · 872 阅读 · 0 评论 -
一. Gateway 网关基础与源码分析
目录一. 基础二. Gateway 底层源码解析1. GatewayClassPathWarningAutoConfiguration 判断引入的依赖2. GatewayAutoConfiguration 创建注入 Gateway 服务需要用到的 bean 到 Spring 容器中3. GatewayLoadBalancerClientAutoConfiguration 创建 LoadBalanc...原创 2020-05-08 09:29:14 · 1988 阅读 · 3 评论 -
三. Hystrix Dashboard 服务监控
目录一. Hystrix Dashboard 监控服务二. 被监控服务三. 启动项目查看 Hystrix Dashboard 图形化界面一. Hystrix Dashboard 监控服务Hystrix 除了可以实现服务隔离降级,熔断,限流以外,还提供了对 Hystrix 熔断降级服务调用准实时的监控 Hystrix Dashboard,用于图形化界面,以统计报表和图形的形式展示,包括每秒执行...原创 2020-05-08 09:28:08 · 233 阅读 · 0 评论 -
二. Hystrix 服务熔断与熔断降级的执行步骤
目录一. 简单设置熔断二. 通过编码方式实现熔断降级三. 通过编码了解 Hystrix 熔断降级的执行步骤一. 简单设置熔断服务熔断: 设置一个限制,当服务请求超过限制时,拒绝请求,调用服务降级方法给用户提示信息, ,比如最多只能同时访问100个请求,超出请求放入缓存队列中,队列已满时,拒绝访问,并且调用链路会有一个自动恢复过程,在恢复期内请求正常了可能还是会走降级方法,要等到关闭熔断示例代...原创 2020-05-08 09:27:44 · 525 阅读 · 0 评论 -
一. Hystrix 几种配置降级的方式
目录一. Hystrix 基础概述一. Hystrix 基础概述Hystrix 是一个用来处理分布式系统的延迟和容错的开源库,例如在分布式环境下,服务与服务之间相互依赖不可避免出现调用失败问题,超时,异常等等,通过 Hystrix 保证一个服务出现问题时不影响其他服务,避免级联故障,提高分布式系统的弹性Hystrix 主要作用: 服务降级, 服务熔断, 提供接近实时的监控服务降级: 当服...原创 2020-05-08 09:27:04 · 2332 阅读 · 0 评论 -
五. 服务的注册 DiscoveryClient 与 ServiceRegistry 服务的发现的简单介绍
目录一. 基础解释二. DiscoveryClient 发现三. ServiceRegistry 注册一. 基础解释最早的时候服务发现注册都是通过DiscoveryClient来实现的,随着版本变迁把DiscoveryClient服务注册抽离出来变成了 ServiceRegistry 抽象,专门负责服务注册,DiscoveryClient 专门负责服务发现。还提供了负载均衡的发现 Load...原创 2020-05-08 09:24:01 · 1488 阅读 · 0 评论 -
四. ZooKeeper 作为 SpringCloud 注册中心配置
一. 简单概述使用 ZooKeeper 的临时节点与持久节点,将服务注册到 ZooKeeper 上,当服务启动时,会以当前服务的服务名称为持久节点,当前服务的具体ip地址为临时节点保存到 ZooKeeper,当服务发生宕机时,临时节点消失,或服务发生改变时,基于事件通知告诉其它服务获取新的服务数据二. 配置服务注册到 ZooKeeper安装配置ZooKeeper,启动服务消费方,服务提供...原创 2020-05-08 09:23:38 · 210 阅读 · 0 评论 -
二. Eureka 注册中心集群完整版环境搭建与 RestTemplate 调用测试
目录一. Eureka 完整版配置1. Eureka 自我保护机制2. 集群二. 搭建1. 创建第二个 Eureka-service 项目步骤Eureka-server 服务 yml 配置集群,与自我保护机制2. 修改第一个 Eureka-service 项目的 yml3. 注册到 Eureka 的服务提供方,服务消费方 yml服务提供方服务消费方三. 调用测试1. RestTemplate 根据...原创 2020-05-08 09:23:08 · 932 阅读 · 1 评论 -
三. Consul 作为 SpringCloud 注册中心配置
目录一. Consul 简单介绍1. Consul 的 windows 单机版安装运行二. 配置服务注册到 Consul1. 服务提供方 yml 文件配置注册到 Consul2. 服务消费方 yml 文件配置注册到 Consul3. 服务消费方配置 RestTemplate 注入到容器中4. 服务消费方使用 RestTemplate 根据服务名称调用指定服务一. Consul 简单介绍Con...原创 2020-05-08 09:22:47 · 306 阅读 · 0 评论 -
一. Eureka 注册中心单机基础版环境搭建
目录一. 为什么使用注册中心二. 搭建 Eureka 单机版简单描述创建 Eureka 服务项目1. 父项目容器中创建 Eureka 服务项目2. resources 文件夹下配置 yml3. 创建Eureka服务启动类,使用@EnableEurekaServer修饰,启动测试配置服务提供方"cloud-procider-payment"启动注册到Eureka注册中心上1. 添加 Eureka依赖...原创 2020-05-08 09:22:11 · 345 阅读 · 0 评论 -
三. idea + SpringBoot 热部署
在搭建SpringBoot项目时,可能会引入微服务,通常是,父项目容器中创建指定的微服务项目,开启热部署步骤在父项目容器pom文件中添加热部署插件 <!--热部署插件--> <build> <!--当前父工程名字--> <finalName>SpringCloud</finalName> ...原创 2020-04-27 23:55:55 · 131 阅读 · 0 评论