歡迎您光臨本站 註冊首頁

Sentinel Go 0.2.0 發布,完善易用性與開源生態

←手機掃碼閱讀     admin @ 2020-03-30 , reply:0

Sentinel 是阿里巴巴開源的,面向分散式服務架構的流量控制組件,主要以流量為切入點,從限流、流量整形、熔斷降級、系統自適應保護等多個維度來幫助開發者保障微服務的穩定性。Sentinel 承接了阿里巴巴近 10 年的雙十一大促流量的核心場景,例如秒殺、冷啟動、消息削峰填谷、集群流量控制、實時熔斷下游不可用服務等,是保障微服務高可用的利器,原生支持 Java/Go/C++ 等多種語言,並且提供 Envoy 全局流控支持來為 Service Mesh 提供高可用防護的能力。

近期,Sentinel Go 0.2.0 正式發布,完善易用性與開源生態,新增 gRPC、Gin、Dubbo-go 等框架的適配,新增動態文件數據源支持。在 0.2.0 版本中,用戶只需要簡單地對 Sentinel 進行初始化,並且為框架配置 Sentinel 的適配即可快速接入。比如針對 Gin Web 服務,我們只需要以下幾步即可快速接入 Sentinel:

1、在服務啟動的時候對 Sentinel 進行初始化:

import (
	sentinel "github.com/alibaba/sentinel-golang/api")func init() {
	err := sentinel.InitDefault()	if err != nil {
		log.Fatal(err)
	}
}

2、在 Gin 的初始化代碼中引入 SentinelMiddleware:

import (
	sentinelPlugin "github.com/alibaba/sentinel-golang/adapter/gin" 
	"github.com/gin-gonic/gin")

r := gin.New()// Sentinel 會對每個 API route 進行統計,資源名稱類似於 GET:/foo/:id// 默認的限流處理邏輯是返回 429 (Too Many Requests) 錯誤碼,支持配置自定義的 fallback 邏輯r.Use(sentinelPlugin.SentinelMiddleware())

3、配置流控規則。可以創建動態文件數據源,通過文件配置規則,或硬編碼配置規則。

詳細特性列表請參考 Release Notes,歡迎大家使用並提出建議。

同時,社區也在完善更多的特性和整合模塊,如 etcd 數據源、熔斷降級等。Sentinel Go 版本的演進離不開社區的貢獻,我們非常歡迎大家持續參與貢獻,一起來主導未來版本的演進。若您有意願參與貢獻,可以參考 貢獻指南 來入門。積極參與貢獻的開發者我們會重點關注,有機會被提名為 Committer。Now start hacking!

 


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/114483/sentinel-go-0-2-0-released
Sentinel Go 0.2.0 發布,完善易用性與開源生態已經有114次圍觀

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