.Net微服務(wù)架構(gòu)之運(yùn)行日志分析系統(tǒng)-創(chuàng)新互聯(lián)

一、引言

創(chuàng)新互聯(lián)長期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為大英企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè),大英網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

.Net技術(shù)棧目前還沒有像spring cloud相對完整一整微服務(wù)架構(gòu)棧,隨著業(yè)務(wù)發(fā)展系統(tǒng)架構(gòu)演進(jìn),自行構(gòu)建.Net技術(shù)體系的微服務(wù)架構(gòu),配套相關(guān)核心組件。因平臺基于微服務(wù)架構(gòu)方式研發(fā),每個(gè)領(lǐng)域服務(wù)遵循平臺統(tǒng)一標(biāo)準(zhǔn),各自研發(fā),獨(dú)立部署運(yùn)行,服務(wù)運(yùn)行日志均通過記錄本地文件方式進(jìn)行記錄。程序日志無法及時(shí)查閱,需登錄服務(wù)器查看,同時(shí)不利于日志統(tǒng)一管理,因研發(fā)運(yùn)行日志分析系統(tǒng),進(jìn)行日志統(tǒng)一分析管理,便于快速定位程序運(yùn)行問題及時(shí)處理,保障平臺運(yùn)行穩(wěn)定。雖然行業(yè)上也有一些日志架構(gòu),如較為有名的LEK(logstash, elasticsearch, kibana),因考慮到后續(xù)一些個(gè)性化的需求,還是自行研發(fā)運(yùn)行日志分析系統(tǒng)。

二、設(shè)計(jì)原則

系統(tǒng)在總體微服務(wù)架構(gòu)設(shè)計(jì)思想下,遵守平臺標(biāo)準(zhǔn),并結(jié)合實(shí)際解決問題的需要,進(jìn)行設(shè)計(jì)和研發(fā),系統(tǒng)嚴(yán)格按照如下設(shè)計(jì)原則設(shè)計(jì):

1、模塊化:根據(jù)職責(zé)和歸屬明確,進(jìn)行拆分模塊,模塊功能高度內(nèi)聚。

2、服務(wù)化:各模塊通信,通過服務(wù)方式進(jìn)行調(diào)用,服務(wù)之間通信,遵守平臺的標(biāo)準(zhǔn)。

3、松耦合:系統(tǒng)模塊之間通信,基于行業(yè)通用標(biāo)準(zhǔn),按照“約定優(yōu)于配置”思想,充分體現(xiàn)系統(tǒng)模塊之間松耦合的關(guān)系。

4、高性能:采用異步的方式進(jìn)行記錄日志和分析,不影響平臺總體性能。

5、易擴(kuò)展:日志采用統(tǒng)一的接入方式,支持靈活擴(kuò)展。

6、跨平臺:支持不同技術(shù)語言、平臺進(jìn)行采集日志。

三、總體架構(gòu)

.Net微服務(wù)架構(gòu)之運(yùn)行日志分析系統(tǒng)

如圖所示,系統(tǒng)基于上述設(shè)計(jì)原則,主要由五部分組成:日志記錄、日志采集、日志接入、日志分析及存儲、日志管理服務(wù)。每部分職責(zé)定位明確,相互支持、相互協(xié)作,共同構(gòu)成運(yùn)行日志分析系統(tǒng)。日志記錄到本地文件,通過日志采集器將本地日志文件抽取后,發(fā)送至Kafka,同時(shí)由日志分析服務(wù)進(jìn)行消費(fèi)、分析及存儲于elasticsearch,日志管理服務(wù)提供于用戶查閱&分析日志信息。在平臺統(tǒng)一通信協(xié)議下,擴(kuò)展運(yùn)行日志的內(nèi)容,沿用Json報(bào)文格式,記錄內(nèi)容包括:IP、端口、服務(wù)ID、記錄時(shí)間、日志內(nèi)容。

1、日志報(bào)文

.Net微服務(wù)架構(gòu)之運(yùn)行日志分析系統(tǒng)
2、日志記錄

日子記錄,支持多種日志記錄組件:Log4.net(本系統(tǒng)選用)、.Net core 自帶的Nlog、微軟企業(yè)庫等,針對JAVA技術(shù)語言開發(fā)的服務(wù),則選用log4j組件,只要按照約定規(guī)范進(jìn)行打印日志即可。將日志信息記錄到本地文件。

3、日志采集

日志采集,選用filebeat組件,filebeat是一個(gè)輕量級的日志傳輸組件,其可以通過提供一種輕量級的方式來轉(zhuǎn)發(fā)和集中日志和文件,幫助你把簡單采集和發(fā)送的事情簡單化。本質(zhì)上filebeat是一個(gè)日志信息搬運(yùn)工,不進(jìn)行日志過濾和分析工作。同時(shí)支持跨平臺。

4、日志接入

日志接入,考慮日志量在某一故障情況,可能存在較大并發(fā)接入,所以選用Kafka組件作為日志信息接入分析的統(tǒng)一入口,kafka組件是一個(gè)高性能的MQ組件,具有高并發(fā)、高可用的特性。統(tǒng)一接入方案,為系統(tǒng)提供更為靈活的采集日志,不受限于某一平臺、技術(shù)或者日志采集組件,均可將運(yùn)行日志進(jìn)行接入分析和存儲。

5、日志分析及儲存

日志分析,采用.Net Core研發(fā),以后臺服務(wù)的方式進(jìn)行運(yùn)行,訂閱kafka的日志消息進(jìn)行批量消費(fèi),分析程序支持橫向擴(kuò)展部署于多個(gè)程序,提升日志的消費(fèi)能力,保障日志接收能力和分析能力相當(dāng)。對日志分析后存儲于Elasticsearch(以下簡稱:ES),ES是一個(gè)高可擴(kuò)展的開源全文搜索和分析引擎,它允許存儲、搜索和分析大量的數(shù)據(jù)。非常適合存儲半結(jié)構(gòu)化的日志數(shù)據(jù),便于全文搜索日志信息。

6、日志管理服務(wù)

日志管理服務(wù),實(shí)現(xiàn)查詢ES中的運(yùn)行日志數(shù)據(jù),通過WebAPI方式提供界面功能調(diào)用。本系統(tǒng)采用“前后分離”應(yīng)用開發(fā)技術(shù),前端界面功能采用H5+JS,后端服務(wù)以restful方式提供API接口。

四、總結(jié)

根據(jù)不同應(yīng)用場景和需求,選用不同的日志分析架構(gòu)或者自行研發(fā),最終目的就是為了快速、方便捕捉系統(tǒng)日志,有助于分析系統(tǒng)運(yùn)行情況。尤其對于微服務(wù)架構(gòu)大型平臺,運(yùn)行日志更為重要。本文主要是將系統(tǒng)設(shè)計(jì)原則、思想進(jìn)行記錄,同時(shí)對有需要的同學(xué)提供參考,可能再實(shí)際應(yīng)用中,還有很多地方需要完善或者優(yōu)化。

公眾號:.Net微服務(wù)架構(gòu)之運(yùn)行日志分析系統(tǒng)

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

當(dāng)前文章:.Net微服務(wù)架構(gòu)之運(yùn)行日志分析系統(tǒng)-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article12/dcogdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)域名注冊、網(wǎng)站設(shè)計(jì)電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站