找做網(wǎng)站的朋友抖音流量推廣神器軟件
分布式領域擴展點設計稿
- 背景
- 坐標
- 設計理念
- 設計圖
- Quick Start
- 相關組件
背景
隨著交易業(yè)務和基礎知識的沉淀,愈發(fā)覺得擴展點可以在大型交易分布式架構中可以做更多的事情。
經(jīng)過一個月的思考,決定將 單點領域擴展點(savior-ext) 從原有的 savior架構 中剝離開來,升級成為 分布式領域擴展點(sext) ,之后單獨去維護和迭代。
坐標
官網(wǎng):輕量級分布式技術解決方案框架 - Savior
分布式領域擴展點(新 · 完全兼容上一個大版本 · 可直接替換坐標)
<dependency><groupId>cn.sunjinxin.savior</groupId><artifactId>sext</artifactId><version>2.0.0-SNAPSHOT</version>
</dependency>
領域擴展點(舊)
<dependency><groupId>cn.sunjinxin.savior</groupId><artifactId>savior</artifactId><version>1.0.5</version>
</dependency>
設計理念
作為一名工程師,我深知一個框架引入到系統(tǒng)中會帶來很大的便利,但同時也會讓系統(tǒng)設計和架構升級以及業(yè)務迭代變得更加復雜。
所以該分布式領域擴展點框架具備以下幾種特性
- 輕量化(引入輕量、API輕量,達到一鍵啟動)
- 可插拔(防止應用架構變得沉重,業(yè)務點可隨時一鍵剔除,一鍵替換)
- 可編排(可達到工作流的編排能力,對業(yè)務能夠達到充分的抽象化)
- 可配置(基于配置中心能力,對框架所有能力和服務動態(tài)配置)
- 可灰度(可通過對流量進行染色,設置流量權重,達到灰度可能)
- 可監(jiān)控(對框架所覆蓋的業(yè)務指標和相關基礎設施指標進行監(jiān)控)
- 可降級(對編排的擴展點進行熔斷降級,提高系統(tǒng)的可用性)
- 可擴展(基本的業(yè)務擴展能力,以及供開發(fā)人員在應用層擴展框架的能力)
設計圖
Quick Start
在啟動類上標注@Savior注解,即可啟動Savior框架所有組件的功能。
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.SpringApplication;
import cn.sunjinxin.savior.core.anno.Savior;/*** @author issavior* @date 1314/05/20 00:00:00*/
@Savior
@SpringBootApplication
public class AppRun {public static void main(String[] args) {SpringApplication.run(AppRun.class, args);}
}
相關組件
Savior框架中的組件亦可以獨立引入,目前支持的組件:
組件 | 說明 |
---|---|
savior-ext | 擴展點 |
savior-mq | 消息隊列 |
savior-toc | 超時中心 |
savior-rule | 規(guī)則引擎 |
savior-lock | 分布式鎖 |
savior-retry | 重試機制 |
savior-event | 事件總線 |
savior-cache | 多級緩存 |
savior-workflow | 工作流 |
… | … |