JupiterGo 微服務(wù)框架
Jupiter 是一個(gè)面向服務(wù)治理的 Golang 微服務(wù)框架,以開發(fā)效率和治理效率為核心目標(biāo),從統(tǒng)一開發(fā)規(guī)范、完善監(jiān)控埋點(diǎn)、降低開發(fā)難度等多個(gè)維度幫助 Gopher 開發(fā)高性能、高可靠性的微服務(wù)框架。
Jupiter致力于將Go微服務(wù)框架標(biāo)準(zhǔn)化,統(tǒng)一錯(cuò)誤碼、日志、監(jiān)控、注冊(cè)、流控的Schema。做到微服務(wù)的各個(gè)模塊可觀測(cè)、可治理,管理微服務(wù)研發(fā)側(cè)的全套生命周期。
Jupiter作為面向服務(wù)治理的微服務(wù)基礎(chǔ)框架,有四個(gè)核心關(guān)注點(diǎn):
- 開發(fā)效率:提升開發(fā)效率、加速軟件生命周期的迭代。
- 治理效率:提升治理效率,實(shí)現(xiàn)規(guī)模化治理。
- 多場(chǎng)景應(yīng)用:識(shí)別通用場(chǎng)景,形成公共知識(shí),持續(xù)提升團(tuán)隊(duì)開發(fā)效率。
- 演進(jìn)式架構(gòu):保證服務(wù)在自建機(jī)房、容器云、網(wǎng)格化等基礎(chǔ)架構(gòu)變更和基礎(chǔ)設(shè)施變更過程中的平滑遷移。
功能點(diǎn)
- gRPC:基于官方 gRPC 開發(fā),集成流控和多數(shù)據(jù)中心方式的服務(wù)注冊(cè),支持多種 roundrobin,p2c 等負(fù)載均衡策略;
- 配置:使用 toml、yaml 方式管理配置,規(guī)范化核心配置,結(jié)合遠(yuǎn)程配置中心,實(shí)現(xiàn)配置版本管理和更新,查看配置依賴關(guān)系;
- 日志:基于 zap 日志類庫,實(shí)現(xiàn)高性能日志庫,并對(duì)不同環(huán)境和條件,實(shí)現(xiàn)日志庫的自動(dòng)降級(jí),并對(duì)服務(wù)端,客戶端的慢日志通過配置條件,實(shí)現(xiàn)全部慢日志接入;
- 監(jiān)控:基于 prometheus go sdk 類庫,實(shí)現(xiàn)對(duì)服務(wù)端,客戶端的數(shù)據(jù)監(jiān)控,并與 prometheus、cond、etcd 數(shù)據(jù)打通,實(shí)現(xiàn)應(yīng)用自動(dòng)化數(shù)據(jù)采集;
- 數(shù)據(jù)庫:基于 gorm 的封裝,將數(shù)據(jù)庫的 trace,慢日志,監(jiān)控進(jìn)行了采集;
- 緩存:基于 go-redis 的封裝,將數(shù)據(jù)庫的 trace,慢日志,監(jiān)控進(jìn)行了采集,并實(shí)現(xiàn)了單個(gè) redis、多從庫 redis,客戶端 redis 分片,服務(wù)端 redis 分片的 api;
- 系統(tǒng)錯(cuò)誤碼:區(qū)分框架和業(yè)務(wù)的錯(cuò)誤碼,將框架錯(cuò)誤碼文檔自動(dòng)生成,自動(dòng)化的錯(cuò)誤碼 SRE 分析工具;
- 工程化:基于服務(wù)標(biāo)準(zhǔn)、創(chuàng)建、開發(fā)、運(yùn)行、治理等生命周期,完成了
Jupiter對(duì)項(xiàng)目的工程化; - 服務(wù)治理:基于監(jiān)控,etcd,配置中心,對(duì)服務(wù)實(shí)現(xiàn)了良好的可觀測(cè)性,可控制性。
評(píng)論
圖片
表情
