歡迎您光臨本站 註冊首頁

Sentinel 1.7.0 發布,支持 Envoy 集群流量控制

←手機掃碼閱讀     admin @ 2019-11-13 , reply:0

流控降級中間件 Sentinel 1.7.0 版本正式發布,引入了 Envoy 集群流量控制支持、properties 文件配置、Consul/Etcd/Spring Cloud Config 動態數據源適配等多項新特性與改進。詳細特性列表請參考 Release Notes,歡迎大家使用並提出建議。

下面我們來一起探索一下 Sentinel 1.7.0 的重要特性。

Envoy 集群流量控制

Envoy 目前廣泛用作 Service Mesh 的數據平面,作為 sidecar 承擔路由和流量轉發等任務。在 Service Mesh 中集群流量控制是保障整個集群穩定性必不可少的一環,因此 Sentinel 1.7.0 提供了 Envoy Global Rate Limiting gRPC Service 的實現 —— Sentinel RLS token server,藉助 Sentinel 集群限流 token server 來為 Envoy 服務網格提供集群流量控制的能力。

 

 

 

 

 

 

 

 

 

 

 

 

 

用戶只需要拉起 Sentinel RLS token server 實例並配置集群流控規則,然後在 Envoy 中進行相應的配置即可快速接入 Sentinel 的集群限流。集群流控規則項與 Envoy 的 rate limit action 生成的 descriptor 相對應,支持 source_clusterdestination_clusterrequest_headersremote_addressgeneric_key 等幾種策略(支持組合)。示例規則項:


domain: foo
descriptors:
  - resources:
    - key: "destination_cluster"
      value: "service_aliyun"
    count: 1
  - resources:
    - key: "remote_address"
      value: "30.40.50.60"
    count: 10

上面的示例配置了兩條規則,針對的 domain 都是 foo(與 Envoy 的配置相對應),其中一條規則會對所有目標為 service_aliyun 集群的請求進行控制,QPS 最大為 1;另一條規則控制所有來源 IP 為 30.40.50.60 的請求每秒不超過 10 次。

我們提供了 Sentinel RLS token server 在 Kubernetes 環境的示例,方便大家在 K8s 集群中快速體驗 Sentinel 集群限流的能力。

在後續的版本我們還會改進規則動態配置的方式,支持 Kubernetes CRD 的形式配置規則,同時結合 Sentinel C++ 版本提供原生的 Envoy Filter。未來我們還會提供 Istio 的支持,讓 Sentinel 在 Service Mesh 中發揮更為重要的作用。

properties 文件配置支持

Sentinel 1.7.0 優化了載入啟動配置項的方式,支持將配置項直接配置在 properties 文件中。用戶只需要通過 -Dcsp.sentinel.config.file 參數配置 properties 文件的路徑即可,從而簡化了通用配置的方式。

動態數據源適配

Sentinel 1.7.0 新增了以下三種動態數據源的支持,用戶可以利用這些動態數據源保存、拉取規則:

至此,Sentinel 已經支持了七種常用的配置中心,可以覆蓋大部分的規則推送場景。

Start hacking

值得注意的是,Sentinel 1.7.0 有近一半的特性都是由社區開發者貢獻的,許多的特性都是社區裡面進行充分討論和 review 后出爐的,因此我們可以稱 Sentinel 1.7.0 是一個社區一起定義的版本。我們非常歡迎大家持續參與社區貢獻,一起來參與未來版本的演進。若您有意願參與社區貢獻,可以參考 貢獻指南 來入門,同時也歡迎聯繫我們加入 Sentinel 核心貢獻小組認領任務。積极參与貢獻的開發者我們會重點關注,有機會被提名為 Committer。Now start hacking!


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/111298/sentinel-1-7-0-released
Sentinel 1.7.0 發布,支持 Envoy 集群流量控制已經有178次圍觀

http://coctec.com/news/all/show-post-219396.html