Sentinel [Feature] Add data-source extension for OpenSergo rate limiting and fault-tolerance spec

qq24tv8q  于 2022-10-19  发布在  Go
关注(0)|答案(4)|浏览(201)

Issue Description

Type: feature request

Describe what happened (or what feature you want)

OpenSergo is a universal microservice governance specification, which covers fundamental scenarios like traffic routing, rate limiting and fault-tolerance.

Sentinel 2.0 will be the standard implementation of OpenSergo traffic governance spec (including traffic routing, rate limiting and fault-tolerance). Since Sentinel has already provided capabilities of rate limiting and microservice fault-tolerance, we could just add a data-source extension, which subscribes rules from the OpenSergo Control Plane, convert the rules to Sentinel rules, then developers could register the data-source to rule managers of Sentinel.

Anything else we need to know?

deikduxw

deikduxw1#

For discussion of the spec: #2759

li9yvcax

li9yvcax2#

A basic design and workflow of the OpenSergo data-source group:

iyzzxitl

iyzzxitl3#

规范定位文档中,关于容错治理规则的定义:

apiVersion: fault-tolerance.opensergo.io/v1alpha1
kind: FaultToleranceRule
metadata:
  name: my-rule
  namespace: prod
  labels:
    app: my-app # 规则配置生效的应用名
spec:
  targets:
    - targetResourceName: '/foo'
  strategies: 
    - name: rate-limit-foo
  fallbackAction: fallback-foo

{.metadata.labels}是设置当前 容错治理规则 配置生效的应用名? 这是否应该放到{.spec.selector}中会更好一些?保持和其他 CRD 语义一致?(例如 KubernetesIstio 中对 CRD 的定义)。例如 这个例子

metadata 设置的信息应当是当前 CR 的元数据信息。

zour9fqk

zour9fqk4#

@YunWZ 很好的建议,可以 comment 到这里哈: opensergo/opensergo-specification#8

相关问题