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

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.lryc.cn/news/448964.html

相关文章:

  • 创建数据/采集数据+从PI数据到PC+实时UI+To PLC
  • Linux基础入门 --12 DAY(SHELL脚本编程基础)
  • 关于frp Web界面-----frp Server Dashboard 和 frp Client Admin UI
  • Hive数仓操作(一)
  • 什么是NAND Flash?
  • Spring Boot 整合 Keycloak
  • 工程师 - Windows下使用WSL来访问本地的Linux文件系统
  • SQL高可用优化-优化SQL中distinct和Where条件对索引字段进行非空检查语句
  • openharmony源码编译
  • H.264编解码工具 - NVIDIA CUDA
  • 数学建模小练习
  • Java爬虫:获取SKU详细信息的艺术
  • 心理咨询展示网站建设渠道拓展
  • naocs注册中心,配置管理,openfeign在idea中实现模块间的调用,getway的使用
  • 先进封装技术 Part02---TSV科普
  • 【数据挖掘】2023年 Quiz 1-3 整理 带答案
  • 老古董Lisp实用主义入门教程(12):白日梦先生的白日梦
  • UE5 Windows热更新解决方案思路(HotPatcher+Tomcat+RuntimeFilesDownloader)
  • 进程管理工具:非daemon进程管理工具supervisor
  • c++模拟真人鼠标轨迹算法
  • android12/13/14版本wms最新面试题:dumpsys window和sf一定会一致么?
  • Python脚本示例,你可以使用这个脚本来自动化登录网站、选择页面元素和提交表单
  • 安卓13设置动态修改设置显示版本号 版本号增加信息显示 android13增加序列号
  • 从 Oracle 集群到单节点环境(详细记录一次数据迁移过程)之三:在目标服务器上恢复数据
  • 相互作用感知的 3D 分子生成 VAE 模型 - DeepICL 评测
  • Java实现随机抽奖的方法有哪些
  • grafana加载缓慢解决方案
  • 【湖南步联科技身份证】 身份证读取与酒店收银系统源码整合———未来之窗行业应用跨平台架构
  • 多路复用和事件轮询机制
  • Android常用C++特性之std::abs