首页
学习
活动
专区
工具
TVP
发布

分布式系统进阶

专栏作者
104
文章
146909
阅读量
30
订阅数
Influxdb中基于磁盘的倒排索引文件TSI结构解析
基础上是按照其在文件中的结构定义的,记录了measurement包括的tagset和series id信息;
扫帚的影子
2018-12-24
1.7K0
Influxdb的Http请求处理流程
3.4 关键函数之s.serverTCP(),使用之前初始化的listener和handler启动真正的http服务
扫帚的影子
2018-12-13
1K0
Influxdb启动流程分析
我们启动的话通常是 influxd run -config [config file path]
扫帚的影子
2018-12-12
7280
Influxdb 数据写入流程
因此对写入请求的处理就在函数 func (h *Handler) serveWrite(w http.ResponseWriter, r *http.Request, user meta.User)中。
扫帚的影子
2018-12-12
1.3K0
Influxdb授权验证流程
Influxdb授权验证流程分析 Qurey语句权限验证 关于Influxdb的验证逻辑,我们可以先参考官方文档: Authentication and authorization in InfluxDB 1.1 在配置文件时,[http] auth-enabled = true 将开启授权验证 我们从appendHTTPDService(cmd/influxdb/run/server.go)入手,在处理http request时要作授权验证,先要创建授权验证对象: srv.Handler.Que
扫帚的影子
2018-12-12
9350
Query请求的执行流程分析
2.1 这个MonitorFunc是一个函数类型,定义为type MonitorFunc func(<-chan struct{}) error, 它用来检查当前task对应的query的健康情况,如果当前query被某些错误中断,它将返回err; 2.2 如果fn MonitorFunc返回了err, 则将此err写到q.monitorCh这个chan中;
扫帚的影子
2018-12-12
9810
Influxdb的Meta data分析
Influxdb定义了一个Service:Precreator Serivec(services/precreator/service.go),实现比较简单,周期性的调用PrecreateShardGroups,看是否需要创建ShardGroup
扫帚的影子
2018-12-12
1K0
Influxdb Cluster下的数据写入
3.2 调用w.MetaClient.CreateShardGroup, 如果ShardGroup存在直接返回ShardGroup信息,如果不存在创建,创建过程涉及到将CreateShardGroup的请求发送给MetadataServer并等待本地更新到新的MetaData数据;
扫帚的影子
2018-12-12
1.1K0
Cluster版本中的Meta
Cluster版本中的Meta Metadata Client Metadata Client概述 定义在 services/meta/client.go中; Cluster 版本中的Meta是本地的一个内存缓存,数据来源MetaServer; 对Meta的所有写操作,也将通过http+pb的方式发送到MetaServer, 然后阻塞等待从MetaServer返回的新的Metadata通知; MetaClient通过http long polling来及时获取Metadata的变化; 所有和Meta dat
扫帚的影子
2018-12-12
5940
Kafka Mirror Maker 使用和图解
说是图解,其实不是用正规的UML, 不是流程图, 不是时序图, 不是... Mirror Maker 逻辑简单, 代码不多, 就一个 sacala文件: core/src/scala/kafka/tools/MirrorMaker.scala文件,里面使用了producer和consumer的java客户端SDK Mirror Maker 这东西在使用中发现对同步的机房间网络质量要求还是比较高的, 特别是异地机房间 使用Mirror Maker作同步需要加上对consumer lag的监控, 如果lag一直
扫帚的影子
2018-09-05
3K0
Folly库编译官方说的相关依赖开始编译
官方说的相关依赖 Dependencies folly requires gcc 4.8+ and a version of boost compiled with C++11 support. Please download googletest fromhttps://googletest.googlecode.com/files/gtest-1.7.0.zip and unzip it in thefolly/test subdirectory. 开始编译 获取源码 git clone ht
扫帚的影子
2018-09-05
3.8K0
FBString分析与使用FBString简介
简单来说,使用了三层存储策略+内存分配策略+大小端支持,特别是配合使用 jemalloc, 减少磁盘碎片,加快并发下的分配速度和性能。
扫帚的影子
2018-09-05
1.4K0
Kafka源码分析-启动流程
使用getPropsFromArgs方法来获取各配置项, 然后将启动和停止动作全部代理给KafkaServerStartable类;
扫帚的影子
2018-09-05
1.3K0
Kafka源码分析-配置文件
作为Class KafkaConfig的伴生类,定义了创建KafkaConfig对象的工厂方法:
扫帚的影子
2018-09-05
5480
Kafka初始化流程与请求处理
Kafka的初始化启动流程 由KafkaServer::startup来负责; KafkaServer::startup主要是创建并启动各种Manager; 上图: kafkaserver_start
扫帚的影子
2018-09-05
1K0
KafkaController分析7-启动流程
前面我们已经分析了KafkaController中使用的一系列组件, 从本章开始,我们开始介绍KafkaController的各个功能: KafkaController分析1-选主和Failover KafkaController分析2-NetworkClient分析 KafkaController分析3-ControllerChannelManager KafkaController分析4-Partition选主 KafkaController分析5-Partition状态机 KafkaControlle
扫帚的影子
2018-09-05
5740
KafkaController分析6-Replica状态机
Replica的状态 Replica有7种状态: NewReplica: 在partition reassignment期间KafkaController创建New replica; OnlineReplica: 当一个replica变为一个parition的assingned replicas时, 其状态变为OnlineReplica, 即一个有效的OnlineReplica. Online状态的parition才能转变为leader或isr中的一员; OfflineReplica: 当一个broker
扫帚的影子
2018-09-05
7000
KafkaController分析4-Partition选主
我们都知道, Kafka的每个Topic的存储在逻辑上分成若干个Partition,每个Partition又可以设置自己的副本Replica; 这样的设计就引出了几个概念: Partition: 消息在Kafka上存储的最小逻辑单元, 在物理上对应在不同的Broker机器上; Replica: 每个Partition可以设置自己的副本Partition, 这样主Partition叫作Leader, 副本叫作Replica;从灾备的角度考虑, 在物理上Replica尽量不要与Leader在同一台Broker
扫帚的影子
2018-09-05
6570
KafkaController分析5-Partition状态机
Partition状态 Partition有如下四种状态 NonExistentPartition: 这个partition还没有被创建或者是创建后又被删除了; NewPartition: 这个parition已创建, replicas也已分配好,但leader/isr还未就绪; OnlinePartition: 这个partition的leader选好; OfflinePartition: 这个partition的leader挂了,这个parition状态为OfflinePartition; 状态转换图:
扫帚的影子
2018-09-05
6970
KafkaController分析1-选主和Failover
Kafkak中有多处涉及到选主和failover, 比如Controller, 比如Partition leader. 我们先来看下和选主有关的类;
扫帚的影子
2018-09-05
7440
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档