ApiBoot 2.1.1.RELEASE版本發(fā)布,新增鏈路式日志分析

ApiBoot為接口服務(wù)而生,基于SpringBoot完成擴(kuò)展、自動(dòng)化配置,通過封裝一系列Starter來讓調(diào)用者快速集成組件,降低學(xué)習(xí)、使用門檻,提高開發(fā)效率。

ApiBoot 官網(wǎng)

官網(wǎng)地址:http://apiboot.minbox.io

ApiBoot 零侵入、鏈路式請(qǐng)求日志分析框架

ApiBoot提供單應(yīng)用、微服務(wù)應(yīng)用下的請(qǐng)求日志分析框架ApiBoot Logging,特性列表如下所示:

  • 鏈路:為每一個(gè)請(qǐng)求生成一個(gè)鏈路的單條或者多條請(qǐng)求日志信息,精準(zhǔn)定位程序出現(xiàn)問題的位置。
  • 耗時(shí):可以分析出每一個(gè)請(qǐng)求的耗時(shí),改善服務(wù)的性能瓶頸
  • 異常信息:請(qǐng)求遇到異常,提供請(qǐng)求日志的異常堆棧信息記錄
  • 請(qǐng)求參數(shù):可以獲取RequestBody、PathParam兩種方式的參數(shù)
  • 響應(yīng)內(nèi)容:可以獲取本次請(qǐng)求響應(yīng)的內(nèi)容信息。
  • 服務(wù)信息:可獲取提供服務(wù)的ID、IP、Port等信息。
  • 異步通知:請(qǐng)求日志數(shù)據(jù)采集后通過Event/Listener方式異步通知給RPCMQ、REST、Local
  • 數(shù)據(jù)分析:閾值警告、異常通知等(短信、郵件等方式,2.1.1.RELEASE版本未實(shí)現(xiàn).)

ApiBoot Logging內(nèi)部采用攔截器、Filter組合完成一系列的操作。

  1. 如果一個(gè)請(qǐng)求的header信息內(nèi)包含traceId(鏈路ID)則加入該鏈路,如果不存在則生成新的鏈路信息
  2. 如果一個(gè)請(qǐng)求的header信息內(nèi)包含spanId(跨度ID),則使用該spanId作為parent spanId,對(duì)兩個(gè)請(qǐng)求進(jìn)行上下級(jí)關(guān)聯(lián)。

無縫支持Openfeign

ApiBoot Logging支持Spring Cloud Openfeign的方式請(qǐng)求,在SpringCloud微服務(wù)應(yīng)用中如果你發(fā)起一個(gè)Http請(qǐng)求,而該請(qǐng)求在服務(wù)端通過openfeign訪問其他服務(wù),這時(shí)ApiBoot Logging會(huì)通過openfeignInterceptor攜帶TraceId、SpanId到下一個(gè)服務(wù),完成請(qǐng)求日志的鏈路信息透?jìng)鳌?/p>

架構(gòu)設(shè)計(jì)圖

ApiBoot Logging 組件架構(gòu)圖.png

更新日志

2.1.1.RELEASE (2019-7-16日發(fā)布)

  • ApiBoot Logging 初版發(fā)布
    • 零侵入代碼設(shè)計(jì)
    • 支持鏈路日志輸出
    • 支持SpringCloud Openfeign透?jìng)魅罩炬溌沸畔?/li>
    • 支持請(qǐng)求完成后多個(gè)Order Notice通知請(qǐng)求日志信息
    • 支持請(qǐng)求異常堆棧信息保存
    • 支持讀取RequestBody內(nèi)容
    • 支持讀取ResponseBody內(nèi)容
    • 支持請(qǐng)求日志關(guān)聯(lián)具體服務(wù)Id
    • 支持自定義存儲(chǔ)日志
  • ApiBoot OAuth
    • 支持Redis存儲(chǔ)Token
    • 支持內(nèi)存方式、Redis方式配置多客戶端
    • 支持內(nèi)存方式、Redis方式配置token有效期
  • ApiBoot Mybatis Enhance
    • 豐富示例
    • 官網(wǎng)文檔更新

源碼、文檔地址

GitHub Wiki:https://github.com/minbox-projects
碼云 Wiki:https://gitee.com/minbox-projects/api-boot/wikis
ApiBoot:https://gitee.com/minbox-projects/api-boot
MinBox Logging:https://gitee.com/minbox-projects/minbox-logging

ApiBoot 目前集成組件

ApiBoot提供的所有封裝依賴對(duì)應(yīng)第三方框架關(guān)系如下所示:

依賴名稱 介紹
api-boot-starter 所有Starter的基礎(chǔ)依賴
ApiBoot 整合案例 ApiBoot落地使用示例,是恒宇少年知識(shí)庫(kù)小程序接口源碼
api-boot-starter-mail ApiBoot集成阿里云郵件服務(wù)
api-boot-starter-logging-admin ApiBoot Logging日志管理端,統(tǒng)一接收采集
api-boot-starter-logging 零侵入、鏈路式日志分析框架
api-boot-starter-http-converter 集成FastJson作為格式化返回JSON
api-boot-starter-security-oauth-jwt 集成SpringSecurity、Oauth、Jwt安全、認(rèn)證框架
api-boot-starter-swagger 集成Swagger2作為接口服務(wù)文檔
api-boot-starter-alibaba-oss 集成阿里云Oss對(duì)象存儲(chǔ)接口服務(wù)
api-boot-starter-alibaba-sms 集成阿里云國(guó)際短信接口服務(wù)
api-boot-starter-quartz 集成分布式定時(shí)任務(wù)框架Quartz
api-boot-starter-datasource-switch 集成支持多數(shù)據(jù)源自動(dòng)切換、動(dòng)態(tài)創(chuàng)建數(shù)據(jù)源
api-boot-starter-resource-load 資源與業(yè)務(wù)完全分離、自動(dòng)化讀取
api-boot-starter-message-push 推送服務(wù),集成極光推送
api-boot-starter-rate-limiter 接口QPS限流
api-boot-starter-mybatis-enhance 集成Myabtis Enhance 持久化框架
api-boot-starter-mybatis-pageable 集成Mybatis Pageable 自動(dòng)分頁插件
api-boot-mybatis-enhance-maven-codegen Mybatis Enhance專屬代碼插件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • why: 1,微服務(wù)架構(gòu)微服務(wù)增多,一個(gè)客戶端請(qǐng)求形成一個(gè)復(fù)雜的分布式服務(wù)調(diào)用鏈路,如果任何一個(gè)服務(wù)延遲過高或...
    xiaoyang08閱讀 3,952評(píng)論 0 5
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí),會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,964評(píng)論 0 9
  • 首先,當(dāng)我們?nèi)绻鳛榧軜?gòu)師的角度去處理一件事情的時(shí)候,必須要有一些大局觀。 也就是要求我們對(duì)個(gè) Logging 的...
    Java架構(gòu)007閱讀 4,088評(píng)論 0 3
  • [玫瑰]智慧的選擇[玫瑰] 在簡(jiǎn)書上閱讀到一個(gè)故事,說在《遺失的智慧》里面講了這樣一個(gè)故事: A是醫(yī)院的清...
    甜甜的果閱讀 519評(píng)論 0 0
  • 剖開我的心,捧給你看,如果不滿意,我再放回去,然后縫起來
    走_(dá)過閱讀 78評(píng)論 0 0

友情鏈接更多精彩內(nèi)容