Kratos是一套輕量級Go微服務框架,包含大量微服務相關框架及工具,解決了gin在微服務場景下的一些適配和微服務本身的一系列生態!
簡單:不過度設計,代碼平實簡單;
通用:通用業務開發所需要的基礎庫的功能;
高效:提高業務迭代的效率;
穩定:基礎庫可測試性高,覆蓋率高,有線上實踐安全可靠;
健壯:通過良好的基礎庫設計,減少錯用;
高性能:性能高,但不特定為了性能做 hack 優化,引入 unsafe ;
擴展性:良好的接口設計,來擴展實現,或者通過新增基礎庫目錄來擴展功能;
容錯性:為失敗設計,大量引入對 SRE 的理解,魯棒性高;
工具鏈:包含大量工具鏈,比如 cache 代碼生成,lint 工具等等;
APIs:協議通信以 HTTP/gRPC 為基礎,通過 Protobuf 進行定義;
Errors:通過 Protobuf 的 Enum 作為錯誤碼定義,以及工具生成判定接口;
Metadata:在協議通信 HTTP/gRPC 中,通過 Middleware 規范化服務元信息傳遞;
Config:支持多數據源方式,進行配置合并鋪平,通過 Atomic 方式支持動態配置;
Logger:標準日志接口,可方便集成三方 log 庫,并可通過 fluentd 收集日志;
Metrics:統一指標接口,可以實現各種指標系統,默認集成 Prometheus;
Tracing:遵循 OpenTelemetry 規范定義,以實現微服務鏈路追蹤;
Encoding:支持 Accept 和 Content-Type 進行自動選擇內容編碼;
Transport:通用的 HTTP/gRPC 傳輸層,實現統一的 Middleware 插件支持;
Registry:實現統一注冊中心接口,可插件化對接各種注冊中心;
騰訊視頻官方版 | 45.34MB
愛奇藝視頻官方正式版 | 35.10MB
暴風影音最新版下載 | 50.3MB
酷狗音樂2022下載 | 37MB