分布式
文章平均质量分 93
小璐乱撞xllz
Java
展开
-
Sentinel隔离、降级、授权规则详解
默认情况下,发生限流、降级、授权拦截时,都会抛出异常到调用方。如果要自定义异常时的返回结果,需要实现接口/*** 处理请求被限流、降级、授权拦截时抛出的异常:BlockException*/;可以看到,handle()方法中有一个类型为的参数,这个参数表示了具体的异常,而包含很多个子类,分别对应不同的场景,如下所示异常说明限流异常热点参数限流的异常降级异常授权规则异常系统规则异常实现自定义异常返回结果的具体方式是,定义一个类,实现@Component@Override。原创 2024-07-24 16:43:34 · 978 阅读 · 0 评论 -
Sentinel限流规则详解
簇点链路就是项目内的调用链路(Controller -> Service -> Mapper),链路中被监控的每个接口就是一个资源。默认情况下 Sentinel 会监控 SpringMVC 的每一个**端点(Endpoint)**,因此 **SpringMVC 的每一个端点(Endpoint)就是调用链路中的一个资源**(这里指的就是 Controller 中的方法)流控、熔断等都是**针对簇点链路中的资源**来设置的,因此我们可以点击对应资源后面的按钮来设置规则:原创 2024-07-23 19:35:57 · 1460 阅读 · 0 评论 -
Sentinel快速入门
将服务 A 的资源划分成一个又一个独立的线程池,此时假设服务 C 挂掉了,那么服务 A 中只有一个线程池的资源会被耗尽,不会导致所有的资源被耗尽。雪崩问题,因为假设等待时间为 1s,因为一个服务内部对于请求的处理是串行的,所以此时就是一秒释放一个请求,但是如果进入的请求是每秒两个,那么资源终究还是会被消耗殆尽。这种方式不能完全避免服务的故障,因为高并发只是引起服务故障的原因之一,还有其他的问题,例如网络问题,此时就要用到其他的解决方案。跟之前的线程隔离的原理是类似的,也就是将服务划分成多个独立的线程池。原创 2024-07-23 13:06:23 · 1187 阅读 · 0 评论 -
Nacos配置管理
但是若想读取 Nacos 配置文件信息,需要获取 Nacos 地址,而 Nacos 的地址在本地配置文件中,是靠后的,因此会导致读取失败。,它优先级比 Nacos 配置文件高,因此会被优先读取,此时将 Nacos 地址等相关信息放进去就可以完成 Nacos 配置文件的读取。**注意:**这里的配置信息不要填写 application.yml 中的一切信息,而是写有变化的配置。3.测试,使用 Postman 发送请求,得到如下结果,可以看到,该配置文件被成功加载。原创 2024-07-21 09:36:33 · 833 阅读 · 0 评论 -
解决Nacos配置注入异常:Could not resolve placeholder ‘pattern.dateformat‘ in value ${pattern.dateformat}
问题产生于,引入 Nacos 配置管理依赖,并将有关 Nacos 的信息从 application.yml 转移到 bootstrap.yml,然后在 Nacos 中填写配置文件,并在服务里通过。可以看到,serviceName 为空,表示配置信息里的服务名称并没有加载成功,也就说明了 bootstrap.yml 文件没有被加载。这个问题就是博主的问题产生原因,因为没有加载 bootstrap 文件,导致信息丢失。那一行代码删掉,重新启动,可以发现服务可以启动,但是中间出现了报错信息,如下。原创 2024-07-20 14:13:53 · 692 阅读 · 0 评论 -
Nacos原理和应用
与 Eureka 不同的是,在健康监测中,Nacos 将服务提供者分成**临时实例**和**非临时实例**(默认是临时实例)。对于临时实例来说,和 Eureka 一样,采用心跳监测的方式进行健康监测,若服务超时没发送心跳会被注册中心直接剔除。对于非临时实例来说,Nacos 不要求做心跳监测,而是 Nacos **主动**发请求询问服务是否还正常,若非临时实例不正常,Nacos **不会将其剔除**,而是仅仅**标记**其为不健康的状态,并等待其恢复健康其次,若 Nacos 发现有服务挂了,会立即**推送*原创 2024-07-20 12:28:34 · 1165 阅读 · 0 评论 -
Eureka原理和应用(结合Feign)
存在下面的问题:① 代码可读性差,编程体验不统一② 参数复杂,URL 难以维护Feign是一个声明式,其作用就是帮助我们优雅的实现 http 请求的发送,解决上面提到的问题一般我们会使用 Feign 来配合注册中心的使用,以更方便地进行服务发现、负载均衡和熔断处理等类型作用说明修改日志级别包含四种不同的级别:NONE、BASIC、HEADERS、FULL响应结果的解析器http 远程调用的结果做解析,例如解析 json 字符串为 java 对象请求参数编码。原创 2024-07-19 12:55:44 · 1197 阅读 · 0 评论