当前位置: 首页 > article >正文

sentinel原理源码分析系列(一)-总述

背景

     微服务是目前java主流开发架构,微服务架构技术栈有,服务注册中心,网关,熔断限流,服务同学,配置中心等组件,其中,熔断限流主要3个功能特性,限流,熔断,快速失败,本文分析限流熔断组件sentinel,为后续使用,扩展,故障排除提供技术储备,特别是dashboard的分布式改造

本文sentinel版本是1.8.8

参考和术语

限流    控制调入流量,防止流量过大造成系统崩溃

熔断/快速失败  断路有延迟的服务,防止雪崩效应;断路探测,恢复服务路由

sentinel简介

  下图是sentinel的技术技术架构图

sentinel技术架构没有比官方的原理图更清楚了,总体看,sentinel是责任链架构模式,分两部分,前部分是请求处理的拓扑构建和数据统计,后部分是规则+数据得出结论,是否放行资源(api/服务方法)调用

逻辑架构

上图左边是sentinel的代码包结构,右边是分析场景

1. 代码包说明

dashboard  仪表板/管理台,transport注册,构建机器/app资料,规则管理

transport  远程服务/心跳,内置到资源内,dashboard的metric fetcher拉取资源metrics;注册到dashboard

core   核心包,sentinel核心实体,Entry,Node,插槽,Context

spring  提供aop,注解注入sentinel启动逻辑

metrics  sentinel以扩展方式提供metrics

adapter 覆盖常用远程调用组件,启动sentinel

rule-datasource  规则的配置中心,实现规则热变更

集群流控

2. 分析场景说明

动态规则/transport 分析两个重要的组件

启动/初始化 分析sentinel启动,组件初始化

调用资源/构建插槽链

插槽链 sentinel核心组件,重点分析

集群流控 分析sentinel分布式流控

NEXT 源码分析


http://www.kler.cn/news/334608.html

相关文章:

  • Centos Stream 9备份与恢复、实体小主机安装PVE系统、PVE安装Centos Stream 9
  • C++面试速通宝典——9
  • rabbitMq-----消费者管理模块
  • Perforce静态分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改进和安全增强
  • 使用指标进行量化交易时,有哪些需要注意的风险点呢
  • Spring Data JPA中的锁机制
  • CSP-J/S 复赛算法 区间动态规划
  • 【2024年最新】基于springboot+vue的springboot火车订票管理系统lw+ppt
  • Linux学习笔记(七):磁盘的挂载与扩展
  • 鼓组编写:SsdSample鼓映射 GM Map 自动保存 互换midi位置 风格模板 逻辑编辑器
  • 滚雪球学Oracle[1.3讲]:Oracle数据库架构基础
  • 生信初学者教程(二十五):验证候选特征
  • [已解决] Install PyTorch 报错 —— OpenOccupancy 配环境
  • RTR_Chapter_6 下
  • flutter_鸿蒙next_Dart基础①字符串
  • (三)Mysql 数据库系统全解析
  • 探索消息中间件:RabbitMQ深度解析
  • 解锁 SDKMAN!:最新教程与全面简介
  • flume系列之:flume jmx页面导出flume、java进程等全部指标
  • 数据分析实战简例