摘要:
异常处理 @SentinelResource注解 使用 Sentinel 时每个方法都可以看作是一个资源,但是默认只会将 Controller 的方法自动解析问资源,资源名为 uri。 对于服务层的方法就需要使用 @SentinelResource 注解手动标记为资源,并指定资源名。 对于默认解析的 阅读全文
摘要:
1、Sentinel熔断降级 文档: https://github.com/alibaba/Sentinel/wiki/%E7%86%94%E6%96%AD%E9%99%8D%E7%BA%A7 熔断策略 慢调用比例 请求的响应时间大于设置的 RT 即为慢调用 单位时间慢调用的比例大于阈值时,进行熔断 阅读全文
摘要:
Sentinel流控 Sentinel 通过流量控制以及熔断降级来保护系统资源 流量控制(flow control):其原理是监控应用流量的 QPS 或并发线程数等指标,当达到设置的阈值时堆流量进行控制,避免服务被瞬时的流量高峰击垮,从而保障服务高可用性。 1、QPS超过阈值直接失败 QPS:que 阅读全文
摘要:
Sentinel 1、服务雪崩 某个节点出现调用问题,导致其上游调用方发生级联故障,最终引起大面积的服务崩溃,这就叫做服务雪崩。 如图 1、服务 A 超时或不可用 2、服务 B 上大量请求被 hang 住 3、服务 B 资源耗尽崩溃 4、服务 C、D 也资源耗尽崩溃 解决方法 限流:基于 qps,请 阅读全文
摘要:
Nacos集群搭建 集群搭建文档:https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html 集群架构 SLB 是指负载均衡,这里可以使用 Nginx 1、环境准备 JDK 1.8 MySQL Nginx 2、集群规划 使用伪集群方式搭建,一个 阅读全文
摘要:
Linux下安装Nacos 1、环境准备 linux 虚拟机、云服务器 JDK 1.8 MySQL 数据库 2、下载安装 下载地址:https://github.com/alibaba/nacos/releases 这里下载 1.4.1 版本的 linux 版软件包:nacos-server-1.4 阅读全文
摘要:
1、为什么要使用配置中心 每个微服务都是一个独立的工程,都有一个配置文件,随着项目微服务数量的增加,就产生了一些项目配置上的问题: 配置文件太分散,不便于管理 配置冗余,通用配置不能共享 修改配置需要重启服务,不支持配置的动态刷新 因此引出了统一管理配置的需求,使用配置中心组件管理配置数据,实现通用 阅读全文
摘要:
1、介绍 SpringCloud OpenFeign 是 SpringCloud 的子项目之一,不属于第三方公司,是一种声明式、模板化的 HTTP 客户端。在 SpringCloud 中使用 OpenFeign 时,可以做到像调用本地方法一样发起远程调用,优化了编码体验。同时 OpenFeign 通 阅读全文
摘要:
Ribbon负载均衡 1、简介 Ribbon 是 Netflix 公司开源的一个负载均衡的项目,是客户端负载均衡器,运行在客户端上。 用于解决服务实例列表在调用时的负载均衡的问题。 2、Ribbon 使用 前篇 nacos 实例中有相关集成:https://www.cnblogs.com/liuyi 阅读全文
摘要:
RestTemplate API SpringCloud 微服务中可以使用 RestTemplate 发起远程调用,RestTemplate 是 Spring 对HttpClient 的封装,提供了一系列方便易用的 API。 RestTemplate 的 API 基本都见名知意,使用起来很简单,提供 阅读全文