Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
sczyh30 opened this issue Aug 23, 2022 · 4 comments · Fixed by #2842
Closed
Labels
area/data-source Issues or PRs related to data-source extension kind/feature Category issues or prs related to feature request.
Milestone

Comments

@sczyh30
Copy link
Member

sczyh30 commented Aug 23, 2022

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?

@sczyh30 sczyh30 added kind/feature Category issues or prs related to feature request. area/data-source Issues or PRs related to data-source extension labels Aug 23, 2022
@sczyh30
Copy link
Member Author

sczyh30 commented Aug 23, 2022

For discussion of the spec: #2759

@sczyh30
Copy link
Member Author

sczyh30 commented Aug 23, 2022

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

image

@YunWZ
Copy link

YunWZ commented Aug 24, 2022

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

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的元数据信息。

@sczyh30
Copy link
Member Author

sczyh30 commented Aug 24, 2022

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/data-source Issues or PRs related to data-source extension kind/feature Category issues or prs related to feature request.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants