Redis篇
日常听到的Redis有两个概念,反对Redis协定的ckv和腾讯云Redis。ckv+是腾讯自主研发的NoSQL零碎,上云之前的次要key-value存储选型。然而目前曾经不在云上售卖了。腾讯云上售卖的都是腾讯云Redis。广州集群的key-value是应用的是ckv+,而北京集群应用的是腾讯云Redis。
从ckv+到腾讯云Redis的间接数据迁徙无奈通过简略的工具实现,腾讯云Redis实例之间能够通过DTS(数据迁徙服务)迁徙(https://cloud.tencent.com/doc...)。
数据迁徙服务DTS是腾讯云提供的不同数据存储实例之前的对立迁徙能力。从页面上的类型来看,提供以下类型存储作为迁入源,还是挺丰盛的。并且在迁入实例类型中看到了TDSQL的身影,感觉有戏。 回到Redis的迁徙问题上来,确定ckv+无奈迁徙到Redis之后,剩下的路只有rdb文件导入了。那么接下来的第一个问题是怎么拿到ckv+的rdb文件呢?http://redis.oa.com 的管制台上是没有rdb下载链接的。腾讯云Redis就有。
https://iwiki.woa.com/pages/v... ckv+的cos冷备获取办法。这里要留神把文档看完,cos下载失去的是cdb的格局,须要应用文档附件的redis-dump-tool进行rdb的格局转换。
TDSQL篇
Redis数据的迁徙尽管没有工具,然而有具体的冷备迁徙策略。再加上之前DTS服务中如同有TDSQL主动迁徙的可能。这文章就要完结啦。https://cloud.tencent.com/doc...,
拿上参考文档就登程。等等,这里文档是Mysql版本的。
首先依照一贯操作,业务方帮咱们申请了资源。而后我关上DTS页面,填好对应的信息,测试连贯通过,间接下一步。这里略过了表构造对齐,账户权限创立等等。这些能够依照上述文档的阐明操作。而后咱们遇到了第一个谬误:
文档中提过要查看lower_case_table要统一。问问helper能不能设置而后重启。而后helper同学说搞不了,因为tdsql shard实例比拟非凡,只能人肉操作。很容易有坑。行,我让业务方同学从新申请一个,毕竟是我没看文档的锅。而后我又筹备好了,感觉本人行了,各种查看终于通过了,而后,而后是这样的
lush Table这个作为Mysql的操作之一,有趣味的同学能够参考 https://blog.csdn.net/qingson...。
能够简略了解为全库锁表。于是乎,再次求教helper同学,helper同学说TDSQL shard类型的实例搞不了这个。呃…那我干了个啥???
好吧,DTS的路堵死了。在和helper同学的一番致力下,找到了TDSQL sharding多源同步计划。能够的是只反对同地区实例的同步。还有一种可行办法就是为广州集群的TDSQL创立一个北京的灾备集群。依照helper同学的说法,低负载时可能实现准实时同步。然而此时北京集群是个只读集群,不合乎北京集群也接入写流量的想法。临时放弃。
兜兜转转又是最原始的sql文件导入办法,helper同学很贴心的送上了文档 https://cloud.tencent.com/doc...,
这次我认真看了,dump阶段没有任何问题。而后到了导入阶段,死活搞不定。最初和helper同学确认这文档后半段是谬误的,要应用mysql source sql文件的办法导入。
弄完Redis和TDSQL的迁徙后,最大的问题就是新的集群数据和旧集群是割裂开的。是两个没有任何关联的集群。不能实现用户从旧集群无缝切换到新集群的目标。在参考了常见的高可用部署计划后,发现异地双活可能是咱们可能采纳的计划。在和helper同学确认之后发现redis和tdsql sharding都做不了双向同步。Tdsql mysql版本 https://cloud.tencent.com/doc...
可能通过DTS反对。所以以后这还只是个欲望,心愿未来在业务须要时可能用上。