Sentinel 1.7.2 发布,完善开源生态及扩展性
Sentinel 1.7.2?正式發(fā)布,帶來了 Logger SPI 擴(kuò)展機(jī)制、Zuul 2.x 網(wǎng)關(guān)流控、SOFARPC 適配等多項(xiàng)特性和改進(jìn)。下面我們來一起探索一下 Sentinel 1.7.2 的重要特性。
多樣化的適配模塊
到目前為止,Sentinel 已覆蓋微服務(wù)、API Gateway 和 Service Mesh 三大板塊的核心生態(tài),同時(shí)多語言已推出 Java、C++、Go 三種語言的原生實(shí)現(xiàn)。
得益于社區(qū)的貢獻(xiàn),Sentinel 1.7.2 帶來了更多的適配模塊:
- Zuul 2.x 適配模塊:可以針對(duì) Zuul 2.x 網(wǎng)關(guān)配置定制化的流控策略,流控粒度可以是路由維度以及自定義 API 分組維度。
- SOFARPC 適配模塊:可以針對(duì) SOFARPC provider/consumer 接口和方法配置規(guī)則,支持來源限流,支持配置 fallback 處理邏輯。
日志擴(kuò)展機(jī)制
1.7.2 版本引入了全新的日志擴(kuò)展機(jī)制,新增?Logger?SPI 擴(kuò)展點(diǎn)(目前僅針對(duì) RecordLog 和 CommandCenterLog 生效)。用戶可以自定義 Logger 實(shí)現(xiàn)來適配項(xiàng)目中的日志模塊(如 slf4j、logback、log4j2 等)。Sentinel Core 默認(rèn)的日志實(shí)現(xiàn)仍然基于 JDK logging,同時(shí)社區(qū)提供了 slf4j 適配模塊,用戶只需引入?sentinel-logging-slf4j?模塊并在相應(yīng)的日志配置文件中針對(duì)?sentinelRecordLogger?和?sentinelCommandCenterLogger?進(jìn)行配置即可,方便使用。
Slot SPI 擴(kuò)展機(jī)制重構(gòu)
Sentinel 各個(gè)特性都是由不同的 slot 組成的。在之前的版本中,slot 擴(kuò)展是通過?SlotChainBuilder?SPI 機(jī)制來實(shí)現(xiàn)的,這樣設(shè)計(jì)的初衷是讓用戶關(guān)注各 slot 的順序,顯式地編排 slot chain。但這種方式對(duì)于不同模塊分別擴(kuò)展 slot 來說是不靈活的,同時(shí)對(duì)于大部分用戶來說其實(shí)不關(guān)心各個(gè)模塊的各個(gè) slot 的順序。因此 1.7.2 版本我們對(duì) slot 擴(kuò)展機(jī)制進(jìn)行了重構(gòu),將?ProcessorSlot?本身作為 SPI 進(jìn)行擴(kuò)展,每個(gè) slot 通過?@SpiOrder?注解指定順序,從而可以方便地將不同模塊的 slot 組合起來。未來版本社區(qū)還會(huì)進(jìn)一步強(qiáng)化 slot SPI 的擴(kuò)展方式,使之具備任意插拔的能力。
其它特性與改進(jìn)
- Spring Web 適配模塊支持鏈路維度流控
- 完善?sentinel-transport-simple-http?模塊,支持較大的 POST 請(qǐng)求
- 完善規(guī)則 HTTP 方式推送的錯(cuò)誤提示,檢測(cè)客戶端低版本 fastjson
詳情請(qǐng)參考?Release Notes,歡迎大家使用并提出建議,同時(shí)歡迎大家一起參與后續(xù)版本的演進(jìn)。
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的Sentinel 1.7.2 发布,完善开源生态及扩展性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 点游出行提供内地与香港游客高质量的旅程
- 下一篇: 2020年软件工程现状:Python或将