银行网站 设计方案,网站建设捌金手指花总十四,青岛网页设计培训学校,创建网络公司本节重点介绍 :
m3db自己的定位m3db自己的架构m3db自己的组件
两句话简介
M3最初是在优步开发的#xff0c;目的是提供对优步业务运营#xff0c;微服务和基础架构的可视性由于M3具有轻松进行水平扩展的能力#xff0c;因此它为所有监视用例提供了一个集中式存储解决方案…本节重点介绍 :
m3db自己的定位m3db自己的架构m3db自己的组件
两句话简介
M3最初是在优步开发的目的是提供对优步业务运营微服务和基础架构的可视性由于M3具有轻松进行水平扩展的能力因此它为所有监视用例提供了一个集中式存储解决方案。
m3db地址
githubhttps://github.com/m3db/m3官方文档https://m3db.io/
m3db自己的定位 历史
2014年经过数年与基于Graphite和WhisperDB的传统指标平台的对抗之后Uber的Observability团队开始开发一个开源指标平台该平台将被称为M3。该项目的目标是为团队提供一个高度可用的集中式指标平台该平台可以轻松地与现有工具集成。
存储发展过程
存储层的第一个迭代以Cassandra和ElasticSearch为特色但是随着打车业务进入高速增长阶段在Graphite和WhisperDB年代曾困扰团队的交火重新浮出水面然后团队决定从头开始构建M3DB这是一个具有嵌入式反向索引的自定义时间序列数据库这成为了平台的基础在大约一年半的时间里M3DB是在Uber上开发和推出的。
查询问题
OOM和缓慢的查询已成为常见现象这使团队无法有效地监视其服务名为M3Query的新查询引擎利用了M3DB将数据存储在高度压缩的块中的事实并在延迟应用函数时一次将数据客户端的一个数据点解压缩这些优化可最大程度地减少网络计算和内存资源支持PromQL和传统Graphite语言的新查询引擎为团队提供了一种非常快速和强大的方法来深入了解其指标
采集问题
随着要摄取的指标数量的激增很明显在数据存储策略方面没有一种万能的方法不同的团队希望将其指标存储在不同的分辨率和保留期限内例如基础架构团队需要以非常高的分辨率但时间不能太长存储度量相反业务团队不需要精细的粒度但希望将数据保留更长的时间该解决方案是M3Coordinator和M3Aggregator这两个组件的组合它们协同工作以获取指标并以高度可定制的方式聚合它们同时提供高可用性和效率
架构图 组件说明
M3 Coordinator
M3协调器是一项服务用于协调上游系统例如Prometheus和M3DB之间的读写它是用户可以部署以访问M3DB好处的桥梁例如长期存储和与其他监视系统例如Prometheus的多DC设置
m3db
M3DB是一个分布式时间序列数据库提供可伸缩的存储和时间序列的反向索引它被优化为具有成本效益的可靠的实时和长期保留指标存储和索引
m3query
M3 Query是一个分布式查询引擎用于查询存储在M3DB节点中的实时和历史数据支持多种查询语言它旨在支持低延迟的实时查询和执行时间可能更长的查询这些数据可以聚合用于分析用例的较大数据集例如如果您将Prometheus远程写端点与M3 Coordinator一起使用则可以使用M3 Query代替Prometheus远程读端点这样您可以获得M3 Query引擎的所有好处例如块处理。由于M3 Query提供了与Prometheus兼容的API因此您可以使用第三方制图和警报解决方案例如Grafana
m3aggregator
M3聚合器是专用的度量标准聚合器可在将度量标准存储在M3DB节点中之前提供基于状态的基于流的下采样。它使用存储在etcd中的动态规则。它使用领导者选举和聚集窗口跟踪利用etcd来管理此状态以可靠的方式将一次至少一次的聚集可靠地发送给长期存储的降采样指标。这提供了具有成本效益的可靠的下采样和指标汇总。M3协调器也可以执行此角色但是M3聚合器可以分片和复制指标而M3协调器则不是并且需要谨慎地以高度可用的方式进行部署和运行。与M3DB相似M3 Aggregator默认情况下支持集群和复制。这意味着度量标准已正确路由到负责聚合每个度量标准的实例并且您可以配置多个M3 Aggregator副本以使聚合没有单点故障。
本节重点总结 :
m3db自己的定位m3db自己的架构m3db自己的组件