平台日誌服務實現思路

2021-06-27 16:54:59 字數 1908 閱讀 4408

每個業務系統都需記錄操作日誌的共性,現狀是每個業務系統都需要記錄在自己的資料庫中(如叢林系統操作日誌),會存在重複建設問題。有些系統還沒有操作日誌,如專題、廣告、配置系統等。

部分的業務系統操作記錄資料量不算太大,但是記錄是很有必要的,可以排查問題等。不排除以後會快速增長,如果還記錄在自己業務系統的資料庫裡,必然會影響業務系統資料庫的效能,存在穩定性的風險。

業務操作記錄分散,無法進行統一的分析和管理,無法進一步的量化和優化,為提公升業務效率提供資料依據。

通過合理的儲存層、service層、api層,解決操作記錄的儲存

提供公共平台,避免每個業務系統重複建設

支援多個業務系統的各自基於各自維度的查詢

注:藍色箭頭表示寫操作,紅色箭頭表示讀操作

關鍵步驟:

業務系統呼叫api傳送操作記錄到日誌服務server

server將操作記錄封裝為mq訊息

solr從消費訊息,建立索引

業務系統通過server查詢solr返回查詢結果

server承擔的職責

所有插入資訊應用都連線server,相當於乙個寫**

所有查詢資訊應用都連線server,相當於乙個讀**

承擔mq到solr中消費訊息的角色

server負責資訊的接收,**與接收,客戶端只需要跟server進行互動

client職責

相當於將大部分client轉移到server中

業務系統只需要通過普通api(http或thrift)與server互動

solar職責

消費日誌記錄,建立索引提供查詢,cos組這部分使用es(elasticseach),elasticsearch是乙個開源的分布式搜尋引擎,具備高可靠性,像solr一樣,是基於lucene構建的。假如採用基於檔案索引的方式進行儲存,因為我們組有過solr的使用經驗,我們可以用 solr替代es。

鍵值資料庫總的來說就像個的雜湊表。我們可以通過key來新增、查詢或者刪除資料,鑑於使用主鍵訪問,所以會獲得不錯的效能及擴充套件性。 我們美團現有的medis集群可以支援基於這種型別資料庫日誌記錄服務的開發。

但是也有缺陷:原因也很明顯,key-value資料庫中根本沒有通過值查詢的途徑。日誌需要儲存資料之間的關係。在key-value資料庫中不能通過兩個或以上的鍵來關聯資料。

面向文件資料庫會將資料以文件的形式儲存。每個文件都是自包含的資料單元,是一系列資料項的集合。每個資料項都有乙個名稱與對應的值,值既可以是簡單的資料型別,如字串、數字和日期等;也可以是複雜的型別,如有序列表和關聯物件。資料儲存的最小單位是文件,同乙個表中儲存的文件屬性可以是不同的,資料可以使用xml、json或者jsonb等多種形式儲存。

優點:因為每個應用程式都有不同的日誌資訊,如專題系統,廣告系統,叢林系統,配置系統等他們都有不同的日誌資訊。這種資料庫並沒有固定的模式,所以我們可以使用它儲存不同的資訊。我們記錄各系統的操作日誌的記錄可以是json形式的資料進行儲存。

缺點:我對mongodb 還不熟悉,對環境搭建和記憶體配置等有待學習

列儲存資料庫將資料儲存在列族中,乙個列族儲存經常被一起查詢的相關資料。舉個例子,如果我們有乙個專題類,我們通常會一起查詢他們的專題名稱和上線城市。這種情況下,專題名稱和上線城市就會被放入乙個列族中,而其他上線時間、狀態、型別等則在另乙個列族中。

優點:我們移動後台又有現成的搭建好的hbase環境, 很明顯的優點就是,我們可以將資料儲存在不同的列中,每個應用程式可以將資訊寫入自己的列族中。

缺點:在模型設計,我們根本不可能去**它的所有的查詢方式,特別是每個系統的查詢維度,而一旦查詢方式改變,我們就必須重新設計列族。會給後期查詢模組增加工作量。

優點:和當前使用的資料庫一致,環境搭建容易,更簡單粗暴的方法是我在每個應用平台(專題,廣告,叢林等)都建個日誌表。

缺點:表的結構變更,必須先定義資料結構型別

優點:簡單

缺點:跨組依賴別組的服務,排查問題極不方便。

分布式事務實現思路

大體思路是對事務進行 手動控制事務的開啟提交。datasource connect transaction transtaction註解也是aop 自己編寫事務註解zdytranstaction實現transtration裡面的幾個方法,connect也是,對datasource connect t...

surging EFCore 服務實現入門

本篇文章基於上篇基礎上進行的,請先了解此篇 surging centos7 docker rancher2.0 菜鳥部署執行筆記 開發環境 visual studio 2017 15.5 資料庫 sql server 2012 執行環境 虛擬機器centos 7 docker rancher 2.0...

DevOps雲翼日誌服務實踐

10月30日,全球權威資料調研機構idc正式發布 idcmarketscape 中國devops雲市場2019,廠商評估 報告。京東雲憑藉豐富的場景和實踐能力,以及高質量的服務交付和平台穩定性,取得優異的成績,躋身 major players 核心廠商 位置。京東雲devops能力起源於自身的業務實...