Beringei源码解析

Beringei是一个集群服务,由多个server组成,每个server管理不同的shards。数据存储模型包括时间序列集合和BucketStorage。启动流程涉及监控线程、刷新Shard线程及KeyList和Data的内存加载。写入流程采用内存架构,写log用于恢复,并限制了stream数据大小。读取数据直接从内存中按时间区间解压。
摘要由CSDN通过智能技术生成

数据结构组织图

数据结构组织图

  • 一个服务集群由多个server组成,IP+PORT定义为一个server,每个server负责不同的shards
  • 容灾通过客户端同时写2个主备cluster来实现,数据并不是强一致,各server动态监听自己负责的shard实现主备接管等功能
  • 在一个shard里面为最小存储模型,包含一个时间序列集合和一个存储引擎BucketStorage
  • BucketMap实际为一个二维的结构,序列维度x时间维度,序列即为各个Key,时间维度划分为了固定时间区间
  • 不同时间线的同一个时间区间的数据打包到同一个BucketData里面,最终会压缩存储到文件系统
  • 每个时间序列的时间区间对应一个StorageId,用于标记在BucketData里面的位置

启动流程图

这里写图片描述

1)监控线程负责定时时间timest

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值