Tair源码阅读1---ConfigServer
来源:互联网 发布:剑灵金币怎么买在淘宝 编辑:程序博客网 时间:2024/05/22 16:39
ConfigServer里面涉及到的几个最重要的对象是,configServer,dataServer,table,group
1.对象介绍
(1)table,对照表
key通过hash之后,再取模可以得到value存放在哪个桶。这个桶是放在哪个dataServer的信息,可以由一个表来表示。
这个表就是对照表。
(2)configServer,配置服务器
功能主要有,①读取配置信息以及心跳得到dataServer的信息,进行对照表的生成。
②根据client的请求,传递对照表信息
③根据心跳得到dataServer的信息,然后控制数据在dataServer中的复制与迁移,以及重新建立对照表等。
(3)dataServer,数据服务器
数据实际存储的抽象,可以采用不同的存储引擎,在configServer的控制下,完成数据的保存、复制、迁移。
(4)group,组
通常,configServer有2个,互为主备。而dataServer通常有许多个,可以将dataServer维护为多个不同的group。
而对照表的新建与弃用,是以group为单位的。
2.代码结构
如图所示,这就是Tair中,ConfigServer模块下的代码。
其中,
①是入口,表示tair_config_server
②是整个模块的主要工作的线程,重要的函数都在这个thread的run里面
③是信息,分为group信息和server信息,作为②运行的一些处理判断
④就是与对照表table相关的,上面的一些是控制table行为的类,下面的是描述表的具体的类,
table_builder1和table_builer2都继承自table_builder,
table_builder1是采用负载均衡优先建立的对照表,table_builder2是采用优先考虑区分机房的逻辑建立的对照表。
3.主要流程
- Tair源码阅读1---ConfigServer
- Tair configserver 数据分布表算法优化(这个属于创造算法)
- tair
- Tair
- Tair
- Tair
- OpenCV源码阅读(1)
- opencv源码阅读(1)
- oozie源码阅读(1)
- tomcat源码阅读-1
- NLPIR2014源码阅读1
- PHP源码阅读<1>
- 源码阅读 1 SimpleRatingView
- flask0.1源码阅读
- spark源码阅读1
- Tomcat源码阅读1
- LevelDB源码阅读(1)
- 源码阅读1-Object
- Icon &LaunchImage
- Android开发时,写MainActivity.java时出现TextView cannot be resolved to a type
- "无法启动程序,因计算机中丢失MSVCP100D"解决方法
- Linux环境PostgreSQL源码编译安装
- static 声明的变量在C语言中有两方面的特征
- Tair源码阅读1---ConfigServer
- static用法作用
- 未全额
- [VS Tips]Visual Studio 2008 Toolbox里控件消失(#13119)的问题
- ACM最终总结
- 大话设计模式--第25章 世界需要和平—中介者模式
- android thread
- ubuntu离线安装命令 升级16.04LTS后引起的Vbox启动错误之解决
- linux 安装命令