
人在江湖之Spring Cloud aibaba
文章平均质量分 91
从入门到精通
没事儿写两篇
授之以鱼不如授之以渔
展开
-
Spring Cloud Alibaba Sentinel 限流源码分析
通过对Spring MVC 拦截器的了解,我们知道最重要的方法为 preHandle,AbstractSentinelInterceptor 的 preHandle 方法定义如下try {// getResourceName 在SentinelWebInterceptor中实现,就是获取资源名称 String resourceName = getResourceName(request);原创 2023-03-15 17:19:18 · 485 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 网关限流与Spring Cloud Gateway整合
配置 SentinelGatewayProperties 中的 FallbackProperties/*** 类型 `redirect` 或者 `response`./*** 如果类型为 `redirect` 则此值必填/*** 类型为 `response` 时,返回的响应结果./*** 类型为 `response` 时,返回的状态码,默认为 429 Too Many Requests/*** 类型为 `response` 时,响应的content-type,默认为json.原创 2023-03-15 09:17:53 · 274 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 热点参数限流和来源访问控制
Spring Boot / Spring Cloud 下自动扫描的资源,我们要为其定义 origin ,需要实现 RequestOriginParser 接口。默认情况下@Component // 需要实现注册到 Spring 容器 public class MyRequestOriginParser implements RequestOriginParser {原创 2023-03-13 17:10:11 · 583 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 集群流量控制
为什么要添加集群流量控制?假设集群中有 10 台机器,我们给每台机器设置单机限流阈值为 10 QPS,理想情况下整个集群的限流阈值就为 100 QPS。不过实际情况下流量到每台机器可能会不均匀,会导致总量没有到的情况下某些机器就开始限流。因此仅靠单机维度去限制的话会无法精确地限制总体流量。而集群流控可以精确地控制整个集群的调用总量,结合单机限流兜底,可以更好地发挥流量控制的效果。原创 2023-03-10 13:50:56 · 1319 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 熔断降级与OpenFeign整合
对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用。原创 2023-02-14 15:35:28 · 907 阅读 · 1 评论 -
Spring Cloud Alibaba Sentinel 流量控制
一条限流规则(即对象 FlowRule )主要由下面几个因素组成,我们可以组合这些元素来实现不同的限流效果:resource:资源名,即限流规则的作用对象count: 限流阈值grade: 限流阈值类型,QPS(RuleConstant.FLOW_GRADE_QPS值为1)或线程数(RuleConstant.FLOW_GRADE_THREAD值为0),默认为1strategy: 根据调用关系选择策略。controlBehavior:流量控制的手段。limitApp:根据调用方进行流量控制。原创 2023-02-12 13:12:13 · 576 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 动态规则扩展
是使用Java硬编码的方式来定义规则,所有的规则定义都定义在内存中,这样定义无法动态的修改以及持久化规则。原创 2023-02-11 20:50:09 · 926 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 控制台
Sentinel 控制台是流量控制、熔断降级规则统一配置和管理的入口,它为用户提供了机器自发现、簇点链路自发现、监控、规则配置等功能。在 Sentinel 控制台上,我们可以配置规则并实时查看流量控制效果。原创 2023-02-08 20:26:16 · 975 阅读 · 1 评论 -
Spring Boot(Cloud) 下整合 Sentinel 示例
我们添加了transport模块支持Sentinel控制台之间通信,添加了支持资源注解@SentinelResource的依赖。Application启动类和配置和Spring Boot 一样,此处不再赘述。注:如果是Spring Cloud Alibaba的项目,直接引入下面的start即可,上面Sentinel相关的依赖都可以不用加入。原创 2023-02-07 21:39:53 · 795 阅读 · 1 评论 -
Spring Cloud Alibaba Sentinel 主要原理和核心类介绍
Context 代表调用链路上下文,贯穿一次调用链路中的所有 Entry。Context 维持着入口节点(entranceNode)、本次调用链路的 curNode、调用来源(origin)等信息。Context 名称即为调用链路入口名称。Context 维持的方式:通过 ThreadLocal 传递,只有在入口 enter 的时候生效。原创 2023-02-07 15:23:53 · 451 阅读 · 0 评论 -
Spring Cloud Alibaba Sentinel 简介与入门
阿里限流、熔断、降级工具Sentinel原创 2023-02-05 14:05:31 · 475 阅读 · 0 评论 -
Spring Cloud Gateway 基本配置
我们的前篇示例,是单独使用Gateway,我们只导入了Gateway的依赖,路由到uri配置的是实际的服务提供方地址,在Spring Cloud环境下,服务的提供方可能是一个集群,这时我们就需要将我们前面提到的Nacos相关的配置、Spring Cloud LoadBalancer依赖等加入,所以我们完整的示例如下。原创 2023-01-31 11:25:54 · 1285 阅读 · 0 评论 -
Spring Cloud Gateway 入门示例
Spring Cloud Gateway 基于 Spring Boot 2.x、Spring WebFlux和Project Reactor,WebFlux默认启动容器是Netty,在学习之前最好是做一些相关的了解。特别是WebFlux。原创 2023-01-29 11:45:19 · 1086 阅读 · 0 评论 -
Spring Cloud OpenFeign 重试机制及其源码分析
本文详细讲解OpenFeign的重试机制,以及ErrorDecoder对请求错误的处理机制,以及相关的源码进行解析分析原创 2023-01-15 15:36:21 · 2394 阅读 · 0 评论 -
Spring Cloud OpenFeign 基本配置
OpenFeign基本配置原创 2023-01-14 22:07:52 · 719 阅读 · 0 评论 -
Spring Cloud OpenFeign入门示例
Feign是一个声明性web服务客户端。让编写Web服务客户端变得非常容易,只需创建一个接口并在接口上添加注解即可。让http远程调用就像接口调用一样简单。(远程http调用的工具有很多,HttpClient、OKHttp、Spring Boot中的RestTemplate等 —— 我们在一文中就是使用的restTemplate的方式)原创 2023-01-08 16:59:58 · 1036 阅读 · 0 评论 -
Spring Cloud LoadBalancer(负载均衡)
Spring Cloud LoadBalancer(负载均衡)原创 2023-01-05 11:02:23 · 2550 阅读 · 3 评论 -
Spring Cloud alibaba 使用Nacos服务发现
Spring Cloud使用Nacos服务注册与发现原创 2022-12-30 10:58:53 · 981 阅读 · 1 评论 -
Spring Cloud alibaba 使用Nacos配置中心
Spring Cloud中使用Nacos配置中心原创 2022-12-28 17:33:23 · 1121 阅读 · 0 评论 -
Nacos 在Spring Boot中使用
Spring Boot中使用Nacos的配置管理已经服务注册与发现原创 2022-12-23 12:00:35 · 1443 阅读 · 0 评论 -
Spring 中使用Nacos服务发现
Nacos服务发现与配置监听,以及其相关注解的用法原创 2022-12-22 19:28:56 · 772 阅读 · 0 评论 -
Spring 中使用Nacos配置管理
Spring 中使用Nacos配置管理,Nacos配置管理中各种配置注解的使用原创 2022-12-22 15:59:18 · 2872 阅读 · 0 评论 -
Nacos的Java SDK
Nacos的java sdk的简单使用原创 2022-12-21 11:22:13 · 1714 阅读 · 0 评论 -
Nacos 安装入门
Nacos是阿里开源的服务发现与注册的管理平台。Nacos 致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。其官网地址:Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。从名称中我们可以知道Nacos的主要功能作用。原创 2022-12-20 09:57:59 · 466 阅读 · 0 评论