Crates.io | veda |
lib.rs | veda |
version | 0.1.0 |
source | src |
created_at | 2017-06-21 15:30:20.120675 |
updated_at | 2017-06-21 15:30:20.120675 |
description | Veda is a time series database in order to monitor. |
homepage | https://github.com/wayslog/veda |
repository | https://github.com/wayslog/veda |
max_upload_size | |
id | 20060 |
size | 4,848 |
veda是一个指标平台,设计上借鉴graphite/statsd/influxdb, 设计之初有如下目标:
Veda将由以下组件构成:
veda系统最核心的组件,当然要命名为veda了。 这其中,附带了一个存储引擎和一个rpc接口。
负责接收上游传来的原始数据,并将其做一定程度的 retention 。这里要说的是,我做了一定程度的兼容处理,一个端口是直接接收plain数据(现行)。另一个是采用protobuf+zmq的方式来进行接收(期望)。
提供查询和控制的rpc接口, 同样是采用 protobuf+zmq的方式来进行查询,多线程应答。
veda系统的计算组件,名叫 诺娃。
nova负责流式计算 ,本身是一系列的计算集群,由一个节点进行统计和调度。让计算节点与数据直接连接,调度节点挂了并不能影响任何的计算,只是不能再自动修改了。因此调度节点不需要高可用。
nova 本身提供比veda更多的计算模块,同时提供聚合、分析、实时查询等功能。
接收具体的指标数据,并将计算结果返回,没有额外的功能。
接收各个veda/nova-worker的统计指标,并且在内部会有一个property-queue ,每隔一定时间将查询进行重新排序和剔除操作。
zeon是veda系统的最前端,属于附加组件。 在未来的模型中,zeon直接接受udp流,并且转换成protobuf+zmq的模式
lovedog是veda系统的HTTP接口组件,属于附加组件。 当然,直接用veda提供的 rpc接口也是可以的……