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

net/rpc/warden、net/http/blademaster 支持重要性传递 #16

Closed
Terry-Mao opened this issue Apr 23, 2019 · 2 comments
Closed

net/rpc/warden、net/http/blademaster 支持重要性传递 #16

Terry-Mao opened this issue Apr 23, 2019 · 2 comments
Labels
enhancement New feature or request

Comments

@Terry-Mao
Copy link
Member

  1. 不同服务间通过 net/metadata 来传递

  2. 原始重要性设置于 bm 的路由上,默认以 CRITICAL 形式存在,通过 Handler 的形式将优先级作用于每个请求中。

  3. 重要性分以下几级(重要等级递减):

    • CRITICAL_PLUS

    • CRITICAL

    • SHEDDABLE_PLUS

    • SHEDDABLE

  4. http service 之间通过 header 形式进行传递,rpc service 之间通过 rpc metadata 形式进行传递。

  5. 在 bm 处理请求时,请求中的重要性永远优先于预设于路由上的重要性。

@Terry-Mao Terry-Mao added the enhancement New feature or request label Apr 23, 2019
@Terry-Mao
Copy link
Member Author

1,如果设置了自定义重要性Handler,覆盖上游的
2,如果未设置自定义重要性Handler,继承上游的
3,如果啥都没,默认为30,即Critical,

另外TODO:

1、基于重要性结合上面的MR,来控制不同重要性接口的bbr load shedding启发值;
2、重要性后续做Per-Customer 限流,会按照服务、重要性、接口多个粒度来设置;

@Terry-Mao
Copy link
Member Author

目前blademaster 已经支持

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants