自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Redis數(shù)據(jù)同步和數(shù)據(jù)遷移如何做?

開(kāi)源 Redis
數(shù)據(jù)遷移 這種一般比較好做,可以直接從源redis導(dǎo)出rdb,再把rdb文件導(dǎo)入目標(biāo)redis。但是如果需要實(shí)時(shí)增量同步就比較困難,有什么好的方法解決這種需求,這里介紹下阿里云開(kāi)源 redis-shake 工具。

[[378331]]

 前言

一個(gè) Redis 需要從另一個(gè) Redis 數(shù)據(jù)同步 或者 數(shù)據(jù)遷移,這種一般怎么做?

數(shù)據(jù)遷移 這種一般比較好做,可以直接從源redis導(dǎo)出rdb,再把rdb文件導(dǎo)入目標(biāo)redis。但是如果需要實(shí)時(shí)增量同步就比較困難,有什么好的方法解決這種需求,這里介紹下阿里云開(kāi)源 redis-shake 工具。

  • redis-shake項(xiàng)目地址:https://github.com/alibaba/RedisShake

基本功能

redis-shake:是我們基于redis-port基礎(chǔ)上進(jìn)行改進(jìn)的一款產(chǎn)品。它支持解析、恢復(fù)、備份、同步四個(gè)功能。以下主要介紹同步sync。

  • 恢復(fù)restore:將RDB文件恢復(fù)到目的redis數(shù)據(jù)庫(kù)。
  • 備份dump:將源redis的全量數(shù)據(jù)通過(guò)RDB文件備份起來(lái)。
  • 解析decode:對(duì)RDB文件進(jìn)行讀取,并以json格式解析存儲(chǔ)。
  • 同步sync:支持源redis和目的redis的數(shù)據(jù)同步,支持全量和增量數(shù)據(jù)的遷移,支持從云下到阿里云云- 上的同步,也支持云下到云下不同環(huán)境的同步,支持單節(jié)點(diǎn)、主從版、集群版之間的互相同步。需要注意- 的是,如果源端是集群版,可以啟動(dòng)一個(gè)RedisShake,從不同的db結(jié)點(diǎn)進(jìn)行拉取,同時(shí)源端不能開(kāi)啟- move slot功能;對(duì)于目的端,如果是集群版,寫(xiě)入可以是1個(gè)或者多個(gè)db結(jié)點(diǎn)。
  • 同步rump:支持源redis和目的redis的數(shù)據(jù)同步,僅支持全量的遷移。采用scan和restore命令進(jìn)行遷移,支持不同云廠商不同redis版本的遷移。

基本原理

redis-shake 的基本原理就是模擬一個(gè)從節(jié)點(diǎn)加入源redis集群,首先進(jìn)行全量拉取并回放,然后進(jìn)行增量的拉取(通過(guò)psync命令)。如下圖所示:


如果源端是集群模式,只需要啟動(dòng)一個(gè)redis-shake進(jìn)行拉取,同時(shí)不能開(kāi)啟源端的move slot操作。如果目的端是集群模式,可以寫(xiě)入到一個(gè)結(jié)點(diǎn),然后再進(jìn)行slot的遷移,當(dāng)然也可以多對(duì)多寫(xiě)入。

目前,redis-shake到目的端采用單鏈路實(shí)現(xiàn),對(duì)于正常情況下,這不會(huì)成為瓶頸,但對(duì)于極端情況,qps比較大的時(shí)候,此部分性能可能成為瓶頸,后續(xù)我們可能會(huì)計(jì)劃對(duì)此進(jìn)行優(yōu)化。另外,redis-shake到目的端的數(shù)據(jù)同步采用異步的方式,讀寫(xiě)分離在2個(gè)線程操作,降低因?yàn)榫W(wǎng)絡(luò)時(shí)延帶來(lái)的同步性能下降。

高效性

全量同步階段并發(fā)執(zhí)行,增量同步階段異步執(zhí)行,能夠達(dá)到毫秒級(jí)別延遲(取決于網(wǎng)絡(luò)延遲)。同時(shí),我們還對(duì)大key同步進(jìn)行分批拉取,優(yōu)化同步性能。

監(jiān)控

用戶(hù)可以通過(guò)我們提供的restful拉取metric來(lái)對(duì)redis-shake進(jìn)行實(shí)時(shí)監(jiān)控:curl 127.0.0.1:9320/metric。

校驗(yàn)

如何校驗(yàn)同步的正確性?可以采用我們開(kāi)源的 redis-full-check:https://github.com/aliyun/redis-full-check?spm=a2c6h.12873639.0.0.4b8974955p9YxV 。

支持版本

  • 支持2.8-5.0版本的同步。
  • 支持codis。
  • 支持云下到云上,云上到云上,云上到云下(阿里云目前支持主從版),其他云到阿里云等鏈路,幫助用戶(hù)靈活構(gòu)建混合云場(chǎng)景。

注意事項(xiàng)

  • 如果目標(biāo)庫(kù)的數(shù)據(jù)逐出策略(maxmemory-policy)配置為noeviction以外的值,可能導(dǎo)致目標(biāo)庫(kù)的數(shù)據(jù)與源庫(kù)不一致。關(guān)于數(shù)據(jù)逐出策略詳情,請(qǐng)參見(jiàn)Redis數(shù)據(jù)逐出策略介紹。
  • 如果源庫(kù)中的某些Key使用了過(guò)期(expire)機(jī)制,由于可能存在Key已過(guò)期但未被及時(shí)刪除的情形,所以在目標(biāo)庫(kù)中查看(如通過(guò)info命令)到的Key數(shù)量會(huì)比源庫(kù)的Key數(shù)量少。

說(shuō)明:源和目標(biāo)庫(kù)中,未設(shè)置過(guò)期機(jī)制或未過(guò)期的Key數(shù)量是一致的。

安裝 Redis-shake

  1. # 下載 Redis-shake 安裝包 
  2. $ wget 'http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/120287/cn_zh/1608173646665/redis-shake-v2.0.3.tar.gz' 
  3.  
  4. # 解壓Redis-shake 安裝包 
  5. $ tar xzf redis-shake-v2.0.3.tar.gz 
  6.  
  7. # 修改配置文件 
  8. $ cd redis-shake-v2.0.3/ 
  9. $ vim redis-shake.conf 
  10.  
  11. # 啟動(dòng)Redis-shake,開(kāi)始執(zhí)行數(shù)據(jù)遷移 
  12. $ ./redis-shake.linux -type=sync -conf=redis-shake.conf 
  • 如果啟動(dòng)報(bào)錯(cuò),相關(guān)原因及解決方法,請(qǐng)參見(jiàn)常見(jiàn)報(bào)錯(cuò)及解決方法。

參考鏈接

https://developer.aliyun.com/article/691794

https://help.aliyun.com/document_detail/117311.html?spm=a2c4g.11186623.6.651.57fc1516WTPTT9

 

責(zé)任編輯:姜華 來(lái)源: YP小站
相關(guān)推薦

2025-02-21 08:20:33

2023-12-29 10:04:47

數(shù)據(jù)分析

2018-05-18 09:18:00

數(shù)據(jù)分析報(bào)告數(shù)據(jù)收集

2017-11-02 08:54:13

數(shù)據(jù)存儲(chǔ)架構(gòu)

2022-03-03 12:53:40

云遷移云計(jì)算云平臺(tái)

2023-09-27 22:44:18

數(shù)據(jù)遷移數(shù)據(jù)庫(kù)

2024-11-12 16:58:35

2023-05-31 08:56:24

2013-10-09 09:35:49

數(shù)據(jù)中心遷移虛擬化

2013-10-09 09:54:46

數(shù)據(jù)中心云計(jì)算

2024-01-02 13:16:00

數(shù)據(jù)遷移PythonPETL

2020-05-10 16:36:08

存儲(chǔ)數(shù)據(jù)庫(kù)內(nèi)存

2019-08-13 15:52:34

數(shù)據(jù)庫(kù)同步遷移

2024-11-04 15:49:43

Redis?數(shù)據(jù)遷移

2015-07-09 15:38:11

2017-10-31 10:43:57

數(shù)據(jù)中心機(jī)房消防

2019-04-11 14:16:31

數(shù)據(jù)產(chǎn)品經(jīng)理數(shù)據(jù)科學(xué)數(shù)據(jù)

2014-06-11 09:22:19

大數(shù)據(jù)

2022-10-19 11:30:30

數(shù)據(jù)分析項(xiàng)目TOB

2024-03-04 08:53:50

海量數(shù)據(jù)計(jì)數(shù)器存儲(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)