DCache db_rocksdb_update_version_gz
2016-12-18 19:27:37 0 举报
DCache db_rocksdb_update_version_gz是一个用于更新RocksDB数据库版本信息的函数。该函数通过压缩文件的方式将新版本的数据库文件替换旧版本的文件,从而实现数据库版本的升级。在执行该函数时,首先会检查当前数据库版本是否为最新版本,如果不是,则从指定的服务器上下载最新的数据库文件并解压到本地。然后,使用新的数据库文件替换旧版本的文件,并将版本信息更新到配置文件中。最后,重启DCache服务使新版本生效。这个函数可以帮助用户轻松地升级DCache数据库,确保其始终处于最新状态。
作者其他创作
大纲/内容
RocksDB
工具
一期先搞(虎牙币版本特殊),zset后搞
按照大版本去做(71909)
线上有300个Db,需要捞取升级模块映射的db模块,做到:1. 共用db的模块;2. db大的模块;3. 模块重要性;因此:优先并行升级db不同,db不大,重要性不高的模块!
开启校对数据一致性
上海
Group2
gz proxy
部分模块主备挂
镜像机房挂
binlog
某个机房挂了(一主多镜像异常模拟情况分析)
RocksDB(物理机房2)
RouterX
主
read
备
周贡榜
write/read
镜像升主(管理平台+权限)
一主多镜像
升级DCache模块版本
读操作:框架传idc信息决定路由机房;写操作:proxy决策
两周时间
测试环境迁移研测1. 自动迁移部署工具
开发
binlog问题:1. 磁盘;2. binlog卡主;
proxy
定时+订阅
主备内容不一致(没有重做)
huya.sh.*
广州物理一个机房,存放两份rocksdb(后续广州另一个物理机房下来后,会迁移一份过去)
部署module不同
开启双写
多主sharding(待讨论,出架构图)
Cache3
DB(有问题用户)(uid_pid)
记录原来版本号
DbAccess
订阅T2-T3的binlog,导入rocksdb
2
版本列出来,标记特殊版本最后动
内存dump一份+binlog
优先人工介入处理主备起来!
Cache2
raft dcache
先升主,再到备,tail下备机日志
DB
10G(存内存)
广州
人工切换镜像
router
定时
后续上异地机房统一上raft版本router
数据库压力:需要监控链接查看数据库cpu,网卡,内存情况,有问题暂停操作!
镜像
Cache1
数据一致性发现工具:binlog分析(几秒不应该出现其他地区写binlog行为)
记录时刻T1,将mysql数据导入rocksdb
1.多地区DbAccess配置的DB域名是相同的,期望dba来切换主从2.CacheServer需要配置IDC概念,需要改动调用DBAccess的方法(同IDC)3.TAF框架启动时需要注册自己的IDC4.MGR不能跨地区部署5.主/镜像DbAccess行为不一样,要开发!6. router命令支持模块级别/idc级别将镜像提升为主!7. 使用set概念模拟IDC逻辑--比如主/镜像的DbAccess逻辑不同!++++++++++8. router使用MGR部署调试
主机房挂
Db
交集能得到有问题用户粉丝分数
嘉俊整理:模块,版本,重要等级
先升备出问题,恢复工具开发dump + syncPoint (dump之后的binlog重做)
Group3
MGR
服务等级分类,跟业务勾兑(手动!):1. 80%大部分一键切换;2. 剩下20%(涉及营收),要注意!3. 程序保证不能进行二次操作!4. 切换过程中模块中断切换!
1. 跳表数据破坏2. selectZsetBatch被丢弃(部分语义新版本不支持,ukey)
RouterX备份
CRC校验开启避免重启
proxy兼容不同地区
Router剔除,proxy会自动路由主机房
RocksDB(物理机房1)
huya.gz.*
不用考虑一致性
订阅T1时刻开始的binlog,binlog导入rocksdb,记录时刻T2(<5min)
DCache(uid_pid_分数)
DCache
升级完怎么发现问题
粉丝服务流水(想要uid和pid)
线上还是会读db(深圳),后续db数据迁移广州,由数据库运维管理团队负责
router兼容不同地区
1. dump工具修改;2. 重做备机文档;3. 工具尽量集成到服务(最终到管理平台)4. 分支回主线; (这部分完成,周一4/13开始!)5. 主线版本规范: 5.1 binlog告警 5.2 binlog file not found 告警 5.3 多主binlog延迟主动告警
无锡到上海!(5月份)1. 迁移方式做;2. 但是有sz到wx镜像同步(这块要做些兼容)
操作时间点暂定:10:00-17:00
DbAccess禁写,记录时刻T3,hold住主T3之后的写请求
自动化工具操作(两步):
机器负载:1. cpu;2. 内存;
注意事项
用户维度切换成主播维度
Group1
不能直接升级版本,确定一个版本号(已知zset不兼容70531之前),重做备机升级
内存dump依赖rocksdb读
hive(粉丝分数快照)
路由表不一致
DB(有问题用户uid_pid)
监控和运维工具完善:1. 磁盘大小占用监控;2. 运维工具集成到管理平台;
1
RocksDb
广州流量放前,记得要掐掉深圳dbaccess往广州写rocksdb(靠binlog rpush同步)【确认成功掐掉工具】
0 条评论
下一页