sentinel-Roadmap(三)

news2024/12/25 12:13:41

Pages 60

  • Sentinel 官方网站

  • OpenSergo 微服务治理

  • 文档

    • Read Me
    • 新手指南
    • Sentinel 介绍
    • FAQ
    • Roadmap
    • 如何使用
    • 工作原理
    • 流量控制
    • 集群流控(分布式流控)
    • 网关流控
    • 熔断降级
    • 热点参数限流
    • 系统自适应限流
    • 黑白名单控制
    • 实时监控数据
    • 动态规则
    • 控制台
    • 生产环境使用 Sentinel
    • 阿里云 AHAS Sentinel
    • OpenSergo 数据源
    • 启动配置项
    • 注解埋点支持
    • 主流框架适配
    • Envoy 集群流量控制
    • 多语言生态
    • 开源贡献指南
  • 阿里云 微服务解决方案

  • Release Notes

  • Related Blog

  • Awesome Sentinel

  • Documents

    • Read Me
    • Introduction
    • How to Use
    • How it Works
    • Flow Control
    • Parameter Flow Control
    • Cluster Flow Control
    • API Gateway Flow Control
    • Circuit Breaking
    • Adaptive System Protection
    • Metrics
    • General Configuration
    • Dynamic Rule Configuration
    • Dashboard
    • Integrations with open-source frameworks
    • Contribution Guideline

Clone this wiki locally

Overview

Roadmap 时间点:

版本Milestone主要特性
✅0.2.02018.9异步调用支持、热点参数限流、黑白名单功能
✅1.4.02018.12集群限流(基础版)
✅1.5.02019.3Reactive 支持(RxJava / Reactor)
✅1.6.02019.4API Gateway 流控
✅C++ V12019.6Sentinel C++ 基础功能(统计、流控、监控)
✅1.7.02019.11Service Mesh 初步支持
✅Go 0.1.02020.2首个 Go 版本
✅Go 0.3.02020.5Go 版本支持熔断降级特性
✅Go 0.4.02020.6Go 版本支持热点流控
✅1.8.02020.8更强大灵活的熔断降级能力
✅Node.js 0.1.02020.9首个 Node.js 版本
✅Go 1.0 GA2020.11所有能力 ready,云原生生态
✅Rust 版本2021.10Rust 多语言原生版本
2.0.02022.12流量治理标准组件,领域涵盖流量路由/调度、流量染色、流控降级
Go 2.0 GA2023.6微服务流量治理与自愈决策中心

详细 Roadmap:

功能点优先级重要性Milestone 版本
注解支持0.1.1
⚡️异步调用支持0.2.0
⚡️热点参数限流0.2.0
来源访问控制(黑白名单)0.2.0
⚡️集群限流(基础版)1.4.0
与更多主流框架适配流动进行
与更多的数据源适配流动进行
⚡️Reactive 支持1.5.0
⚡️API Gateway 流量控制1.6.0
⚡️Envoy 集群流量控制支持1.7.0
指标/监控 API 标准化长期
⚡️完善的 Service Mesh 支持2.0.0(长期)
⚡️多语言支持(C++/Go 原生版本)长期
⚡️智能化、自适应限流2.0.0(长期)

开源生态:

流量治理组件

Sentinel 2.0 品牌升级将为流量治理,领域涵盖流量路由/调度、流量染色、流控降级等;同时社区正在将流量治理相关标准抽出到 OpenSergo 标准中,Sentinel 作为流量治理标准实现。

异步调用支持

  • Milestone: 0.2.0
  • Motivation:未来各种 RPC 框架、Web 框架都朝着异步化的目标发展(Dubbo 3.0, gRPC, Spring WebFlux, Vert.x, 异步 Servlet, Netty 服务等),整个 Java 的发展方向也在朝着异步、响应式演进(无论是 CompletableFuture, Reactive Streams 还是后面的 Project Loom 协程),因此支持异步调用非常重要。
  • 目标:支持异步调用链路的指标统计

集群流控与 Service Mesh

  • Milestone: 1.4.0
  • Motivation:引入集群限流的功能,作为单独的服务,与单机限流相组合形成两道屏障。同时,集群限流可以为 API Gateway 和 Service Mesh 提供集群流量控制的能力。
  • Tasks:
    • ✅Sentinel 集群限流客户端、服务端接口抽象设计,通信协议设计
    • ✅Sentinel 集群限流默认实现
    • ✅Envoy 集群流量控制支持(Envoy global rate limiting service)
    • Istio 原生支持
    • 集群限流客户端多语言支持(Go/C++ 等)

Reactive 生态

  • Milestone: 1.5.0
  • Motivation: 响应式编程是 Java 社区未来的发展趋势。越来越多的人开始用 RxJava 和 Reactor,Java 9 也将 Reactive Streams 的接口引入了 JDK,Spring 5.0 也引入了 Spring WebFlux / Project Reactor。可以说后续 reactive 是发展趋势。
  • 目标:
    • 支持 Reactive 适配,包括 Reactor、RxJava 2.x 等,并适配各种 reactive 库和框架。
    • 结合 back-pressure 等特性实现自适应限流(长期目标)。

云原生高可用决策中心

  • Milestone: 2.0
  • Motivation:Cluster Policy Brain 设计可以针对任意流量的场景做一些控制的策略,这里面包括但不限于:集群流控、安全策略、流量清洗、服务权重调整。

自适应/智能化/声明式策略

  • Milestone: 2.0(长期进行)
  • Motivation:当前用户需要根据系统的情况自己评估出一些数据来设定规则。如果能够比较好地利用实时指标,结合历史的监控数据,来自适应地进行限流降级,对用户来说是非常有吸引力的。
  • 相关 issue:
    • 系统指标扩展:[RFC] General extension mechanism for system metrics · Issue #2061 · alibaba/Sentinel · GitHub
    • 自适应流控/决策控制相关抽象:https://github.com/alibaba/Sentinel/issues/1889
    • 服务/接口分级:pending

Eventing

  • Milestone: 2.0
  • Motivation:决策事件闭环

Sentinel 多语言

  • Milestone: 流动进行
  • 复杂度:高
  • 目标:
    • 集群限流多语言客户端:初期通过 gRPC service 等形式对接 Envoy、Istio 等抽象的接口;后期实现各个语言的原生 client(C++, Go, Node.js, Rust, PHP 等,欢迎贡献)
    • 核心库多语言版本(欢迎基于 C++/Go/Rust 版本实现其它语言版本)
      • Sentinel C++
      • Sentinel Go
      • Sentinel Rust
      • Sentinel Node.js

更多适配(生态)

  • Milestone: 长期进行
  • 复杂度:低
  • Motivation:与更多的主流框架适配,与更多的动态配置/存储适配,可以吸引更多的用户。
  • 目标:
    • 框架适配:如 Vert.x、RxJava 2.x、Quarkus 整合等
    • DataSource 适配:如 etcd, MongoDB, MySQL, Eureka 等
  • Note:欢迎大家来贡献

监控标准化

  • Motivation:目前 Sentinel 的监控统计指标提供方式还可以更丰富(比如 percentile, gauge, histogram 等 metrics 信息)。同时监控 API 比较简单,缺乏对外提供的标准。而监控信息的展示(可视化)也没有比较标准的和开源整合的方案。
  • 目标:
    • 指标统计标准化、完善,可以对外提供完善的 metrics 的功能
    • 监控 API 标准化,同时可以适配常用的开源方案(如 Prometheus)
    • 监控信息的可视化与开源方案适配(如 Grafana)
  • 目前的设计
    • 控制台监控存储接口:MetricsRepository
    • 基础指标统计 SPI:MetricExtension (since 1.6.1)
    • 系统指标统计 SPI

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/150453.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring依赖注入时,创建代理bean和普通bean详解

问题来源 以前一直有个疑惑,为什么我创建的controller中注入的service类有时候是代理类,有时候是普通javabean,当时能力不够,现在已经有了点经验就大胆跟了跟源码,看看到底咋回事。 首先看看问题现象: a1…

linux nfs umount报错:device is busy

执行nfs卸载命令umount /mnt,报错target is busy. 或device is busy可以按以下步骤检查:退出要卸载挂载的目录,再执行卸载挂载cd ../umount /mnt找出占用目录的端口,kill端口fuser -m /mnt/kill -9 端口umount /mnt停止nfs服务&am…

PCA 主成分分析-清晰详细又易懂

PCA(Principal Component Analysis)通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙…

Java char[]数组转成String类型(char to String)详细介绍

前言 string toCharArray() 方法将给定的字符串转换为字符序列 Java中字符串转换为字符数组的方法在之前的博客已经介绍了! 今天介绍char[]数组转成String 方法有4种: 使用 String 类的 valueOf() 方法使用字符串连接使用 Character 类的 toString() 方…

图形编辑器:场景坐标、视口坐标以及它们之间的转换

大家好,我是前端西瓜哥。 图形编辑器的坐标系有两种。 一个是场景(scene)坐标系,一个是 视口(viewport)坐标系。视口就是场景的一个子区域。 假设我们的视口的原点,离场景原点的坐标水平和垂直…

C2芯片一ESP32-C2开发板

C2是一个芯片采用4毫米x 4毫米封装,与272 kB内存。它运行框架,例如ESP-Jumpstart和ESP造雨者,同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统,受到了全球用户的信赖。它由支持Espressif以及所有…

月报总结|Moonbeam 12月份大事一览

本月,针对生态和项目,Moonbeam基金会启动首期Accelerator Program孵化计划,将针对入选团队提供一系列扶持资源,申请仍在开放中。对于开发者,Moonbuilders Academy上线了关于构建跨链应用的新课程。 社区活动方面&…

【案例分析】汽车制造行业电能质量治理方案分析

摘要:现如今的汽车制造行业,使用的机械设备越来越精密,制造技术与自动化水平也越来越高,为此对供电系统的电能质量要求更高更苛刻,同时对不能满足现有生产工艺需求的供电质量进行治理。通过分析汽车制造过程中冲压工艺…

连续三年!Fortinet再次位列《 Gartner 企业级有线和无线局域网基础设施魔力象限报告》“远见者”

网络安全领导者Fortinet(NASDAQ:FTNT),近日宣布连续第三年入围《Gartner企业级有线和无线局域网基础设施魔力象限报告》“远见者”象限。这一殊荣源于Fortinet 旗下FortiSwitch 和 FortiAP等有线和无线局域网产品组合的强劲实力&a…

激光焊接薄板时需要注意的一些问题

焊接是目前工业制造中必要的工艺技术,焊接金属时需要注意很多方面的问题,本文主要针对金属薄板焊接中的一些工艺问题进行展开讨论。例如:焊缝的牢固程度、焊缝的平整度、焊缝直线度的控制、焊缝高度和宽度的控制以及焊接的均匀性等方面。 一、…

程序员们有什么好的编程习惯?

优良的代码显然不是制作优秀软件的唯一要素,但是主要的要素之一。我们可能拥有世界上最好的产品和营销团队,部署了最好的平台,并以最好的框架来构建软件,但归根结底,一款软件所做的一切,都是因为有人写了一…

LeetCode 49 字母异位词分组 | 解题思路分享

原题链接:49. 字母异位词分组 - 力扣(LeetCode) 题目难度:中等 题目描述 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词…

分析快、易操作的数据分析工具推荐

数据分析工具发展这么多年,该有的技术功能都有了,该提高的数据分析效率、数据分析量等也都提高了,但很多长期奋战在一线的数据分析人员却总是抱怨数据分析工具响应慢、分析慢、越来越容易崩溃。为什么要找一款分析快、易操作的数据分析工具还…

Git入门学习笔记(10分钟速通)

一、Git概述 官网翻译: Git 是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有内容。 Git易于学习, 体积小,性能快如闪电。它超越了 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具&am…

13_2、Java的IO流概述

一、Java IO原理1、I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于处理设备之间的数据传输。如读/写文件,网络通讯等。2、Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。3、java.io包下提供了各种“流…

kaggle平台学习复习笔记 | XGBoost、LightGBM and Catboost

这里写目录1.XGBoost官方文档介绍与使用2.LightGBM官方文档介绍与使用3.CatBoost官方文档介绍与使用对比数据预处理如下,下文不再重复 import lightgbm as lgb import xgboost as xgb from catboost import CatBoostRegressorfrom sklearn.model_selection import …

C#入门级——泛型、泛型类、泛型接口、泛型方法和泛型委托

目录 一、泛型(generic) 二、为什么需要泛型类 类型膨胀 成员膨胀 使用object类 三、泛型的定义 定义泛型类 使用泛型类 泛型接口​​​​​​​ 两种泛型接口的实现方法 泛型方法 成员膨胀 使用泛型 泛型委托 Action委托——只能引用没有…

有效的需求管理,需遵循四大原则。

1、需求管理必须与需求工程活动相整合 需求管理必须与需求工程的其他活动紧密整合,进行需求管理一定不能脱离需求工程,需求工程包括了需求获取、需求分析、需求描述、需求验证、需求管理,因而需求管理必须与前面的几个需求阶段保持密切相关。…

2023/1/9 Vue学习笔记-5-TodoList案例

1 静态组件 App.vue <template><div class"todo-container"><div class"todo-wrap"><UserHeader/><UserList/><UserFooter/></div></div> </template> <script>import UserHeader from &qu…

【计组】FPGA和ASIC--《深入浅出计算机组成原理》(七)

课程链接&#xff1a;深入浅出计算机组成原理_组成原理_计算机基础-极客时间 目录 一、FPGA &#xff08;一&#xff09;FPGA 的解决方案步骤 1、用存储换功能实现组合逻辑 2、对于需要实现的时序逻辑电路&#xff0c;在 FPGA 里面直接放上 D 触发器&#xff0c;作为寄存…