前言
Mimir 剛開源的時候脆贵,我們第一時間寫了一篇關(guān)于它的不權(quán)威解讀,在經(jīng)過幾個月的功能體驗和源碼閱讀后哄酝,有一些心得想和大家分享:
- Mimir 盡量可能的將各個模塊無狀態(tài)化棉磨,使用 Gossip 協(xié)議做集群數(shù)據(jù)一致性缤剧,避免了使用中心式的 KV 存儲,從而部署更簡單缎除,架構(gòu)更清晰严就。
- 在 Prometheus/Thanos/Cortex 上做了大量針對性修改,尤其是大規(guī)模寫入和查詢伴找,這塊可以參考后面我們的 “ Mimir 是如何支持單DB 10億指標” 系列文章盈蛮。
- 對多租戶管理比較友好,每個租戶都可以單獨配置限制技矮,而且有每個租戶非常詳細的指標監(jiān)控抖誉,隨時可以做到對某個租戶進行限流,甚至封禁操作衰倦。
- Mimir 團隊并不是索取袒炉,他們也將修改不斷回饋于上游,大家可以關(guān)注下 https://github.com/grafana/mimir-prometheus 這個倉庫樊零,很多新的特性我磁,在不久將來應(yīng)該都會合并到 Prometheus中,比如(chunk 異步落盤驻襟、split&merge 壓縮夺艰、亂序樣本數(shù)據(jù)寫入 )。
如今又重看當時 Grafana CEO 對 Mimir 開源的 Q&A 回答沉衣,頗有幾分感慨郁副。
部分問答內(nèi)容
本篇部分文字翻譯自,https://grafana.com/blog/2022/03/30/qa-with-our-ceo-about-grafana-mimir/
1豌习、什么是 Grafana Mimir?
這是我們針對metrics的下一代開源可擴展的時序數(shù)據(jù)庫存谎。它包含了Cortex代碼和部分商業(yè)版的能力拔疚。代碼路徑在https://github.com/grafana/mimir 這是基于AGPLv3協(xié)議下的開源產(chǎn)品。
在Mimir中既荚,我們在原有Cortex的基礎(chǔ)上稚失,采用一種水平擴展的分片壓縮架構(gòu),實現(xiàn)了基數(shù)不受限制的能力恰聘。這個已經(jīng)在超過1億指標的生產(chǎn)環(huán)境中得到驗證句各。Mimir借助水平擴展的分片查詢引擎,提供了強悍的快速查詢能力憨琳。我們發(fā)布了開箱即用的Grafana面板诫钓、告警和大量示例,讓Mimir的使用更便捷篙螟。與此同時菌湃,大量的自動化運維工具:TSDB 檢查,bucket分析遍略,流量分析等也可以幫你快速上手惧所。
Mimir不只適用于Prometheus類型的數(shù)據(jù)格式,我們很快會支持OpenTelemetry, Graphite, Influx, 和Datadog等類型的metrics數(shù)據(jù)寫入绪杏。此外下愈,我們還刪除了一些廢棄代碼,簡化了很多配置蕾久。
2势似、為什么要做改變
時間會檢驗一切。我們在商業(yè)版中的很多能力僧著,希望能開放出去履因,得到市場更多的反饋。很多企業(yè)使用了我們的開源版本盹愚,但是卻沒有給我們一些正向反饋栅迄。所以,原有的Apache 2.0將無法同時兼顧開源版和商業(yè)版的發(fā)展皆怕,所以我們使用了AGPLv3毅舆。
3、 Mimir是Cortex的復(fù)制嗎愈腾?為什么不把這些特性放到Cortex中憋活?
是的,Mimir來自于Cortex的復(fù)制虱黄。
在Grafana悦即,我們相信開源的力量,這是我們的DNA。我們還相信盐欺,您可以通過擁有可持續(xù)發(fā)展的業(yè)務(wù)來獲得最好的OSS,該業(yè)務(wù)可以聘請世界上最好的開發(fā)人員來推動項目向前發(fā)展仅醇。這是我們在 Grafana Labs 的使命冗美。
Cortex是CNCF管理的基于Apache2.0協(xié)議的開源項目。其中大部分貢獻也來自于Grafana的人員析二。Cortex 被一些世界上最大的云提供商和 ISV 使用粉洼,他們能夠以較低的成本提供 Cortex,因為他們在開發(fā)項目上投入的資金并不相同叶摄。
這使我們不得不選擇從保持改進Cortex到閉源這條路属韧。我們認為我們已經(jīng)找到了一種使其開放并建立可持續(xù)業(yè)務(wù)的方法,而不是關(guān)閉代碼蛤吓。我們覺得 AGPLv3 許可證和 CLA 的結(jié)合實現(xiàn)了這一點宵喂。
最后
最后看一下 Cortex 和 Mimir的對比:
此時,我們已經(jīng)越發(fā)相信 Mimir 應(yīng)該是 Prometheus 生態(tài)的第一選擇会傲。