自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

日志系統(tǒng)的架構(gòu)設(shè)計方案

開發(fā) 前端
市面上比較成熟的方案有ELK、mongodb方案、Loki方案,每種方案都有各自的特點,在搭建日志系統(tǒng)的時候我們可以根據(jù)實際的業(yè)務(wù)需要選擇合適的方案。

 日志對于我們開發(fā)人員是非常重要的,當我們的系統(tǒng)會出現(xiàn)異?;蛘邩I(yè)務(wù)出現(xiàn)錯誤的時候,我們都是利用日志來定位問題,問題定位到之后就可以有針對性的來解決這個問題,下面我們來聊聊日志系統(tǒng)架構(gòu)的常見設(shè)計方案。

1、單體應(yīng)用下的日志系統(tǒng)設(shè)計

    在互聯(lián)網(wǎng)初期的業(yè)務(wù)系統(tǒng)都是單體架構(gòu)部署的,所以針對這種架構(gòu)下的日志一般都是采用文件的形式存儲日志,如下所示:

圖片

    用戶在使用系統(tǒng)的過程中,系統(tǒng)中采用log4j或者logback方案來記錄日志數(shù)據(jù)到日志文件中,如果項目中出現(xiàn)問題之后,開發(fā)人員可以直接從日志文件中定位系統(tǒng)的問題點。

    這種單體方案下的日志架構(gòu)設(shè)計的優(yōu)勢是部署簡單、成本低、性能高,但是在當下微服務(wù)架構(gòu)中就不太適用了。

2、微服務(wù)架構(gòu)下的日志系統(tǒng)設(shè)計

    隨著業(yè)務(wù)的發(fā)展,很多公司都是采用微服務(wù)架構(gòu)部署應(yīng)用,如下圖所示的微服務(wù)圖:

圖片

    如果微服務(wù)架構(gòu)下我們依然采用文件的形式來保存日志的話,一旦系統(tǒng)出現(xiàn)問題就非常的難定位問題,所以在微服務(wù)架構(gòu)下我們需要一個統(tǒng)一的日志管理系統(tǒng)來幫助我們存儲日志和提供頁面查詢?nèi)罩竟δ堋?span>

圖片

    在微服務(wù)架構(gòu)下需要設(shè)計一套不僅可以收集日志,而且還提供日志查詢功能的日志管理系統(tǒng),但是這個日志系統(tǒng)一方面不能影響我們正常的業(yè)務(wù)執(zhí)行,另一方面還需要具有可擴展性,用于方便后續(xù)的其他系統(tǒng)日志接入。目前比較主流的日志架構(gòu)設(shè)計方案有如下幾種:

(1)ELK日志架構(gòu)方案

圖片圖片

    ELK方式的是目前比較主流的方案,這種方案的一個比較全面、功能比較齊全的日志系統(tǒng)實現(xiàn)方案,實現(xiàn)的原理是通過filebeat采集日志信息并推送到MQ上,MQ將日志信息讓logstash消費,logstash通過日志的過濾和轉(zhuǎn)化之后將日志存儲到ES中,開發(fā)人員通過Kibana查詢ES中的日志數(shù)據(jù)。

(2)采用mongodb實現(xiàn)日志系統(tǒng)的方案

圖片圖片

    此方案的原理是各個服務(wù)中的日志采集后通過異步消息的方式存儲到mongodb中,由于mongodb是一個nosql的數(shù)據(jù)庫,它通過json的方式存儲日志數(shù)據(jù)并且支持非常豐富的查詢語句,可以幫助我們對日志的數(shù)據(jù)來進行過濾查詢,最后開發(fā)人員通過web頁面就可以實現(xiàn)對日志的查詢功能。

    由于mongodb是存儲json數(shù)據(jù)格式,所以它可以存儲非常靈活的日志數(shù)據(jù)結(jié)構(gòu),并且它也支持分片和復制等功能,mongodb適合大規(guī)模的日志數(shù)據(jù)存儲、復雜的查詢場景下的日志系統(tǒng)實現(xiàn)方案。

(3)Loki日志系統(tǒng)實現(xiàn)方案

圖片

    Loki是grafana提供的一個插件,它類似es一樣存儲了日志信息,通過promtail收集日志數(shù)據(jù),然后將日志的數(shù)據(jù)推送到Loki中存儲,最后開發(fā)人員通過grafana查詢?nèi)罩緮?shù)據(jù)。

    這種方案比較適用于應(yīng)用系統(tǒng)有部署granfan并且公司只需要一個輕量級的日志收集系統(tǒng)前提下使用。

總結(jié):

    市面上比較成熟的方案有ELK、mongodb方案、Loki方案,每種方案都有各自的特點,在搭建日志系統(tǒng)的時候我們可以根據(jù)實際的業(yè)務(wù)需要選擇合適的方案。

責任編輯:武曉燕 來源: 龍蝦編程
相關(guān)推薦

2023-02-24 08:27:56

RabbitMQKafka架構(gòu)

2025-03-03 00:45:00

2018-05-17 10:10:17

架構(gòu)設(shè)計優(yōu)化

2022-06-09 10:34:44

架構(gòu)數(shù)據(jù)

2009-10-19 14:39:10

2024-04-17 08:03:45

架構(gòu)設(shè)計Java

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2009-09-25 16:54:02

機房UPS供電系統(tǒng)

2009-10-14 13:19:20

2009-10-15 14:21:57

大樓綜合布線系統(tǒng)

2018-09-27 15:56:15

2011-05-17 09:15:45

布線光纖快速以太網(wǎng)

2019-10-12 09:18:33

系統(tǒng)設(shè)計架構(gòu)

2010-06-05 18:23:15

2017-11-27 08:50:29

架構(gòu)數(shù)據(jù)存儲

2009-10-14 12:56:19

2014-05-19 10:08:36

IM系統(tǒng)架構(gòu)設(shè)計

2018-08-03 15:28:51

數(shù)據(jù)平臺數(shù)據(jù)倉庫OLTP

2012-07-11 10:49:34

鮑爾默Surface

2009-10-12 16:50:00

點贊
收藏

51CTO技術(shù)棧公眾號