我們在做系統的時候,有時候會遇到遷移資料或者處理任務(任務量又比較大),比如把redis的資料取出來做一些操作,然後處理完的資料在存到hbase
我們需要考慮到資料處理過程中失敗情況,需要處理高併發去執行,具體怎麼設計,怎麼做呢,
有一種簡單的方式如下:
1我們先把任務資料存到redis任務佇列裡
2定義乙個bean啟動3個執行緒來處理
執行緒1的:從任務佇列取出資料,同時存到備份佇列,用redis命令lpoprpush,然後把任務交給執行緒池去處理,任務執行成功從備份佇列刪除,失敗進入失敗佇列
執行緒2:定時從備份佇列取資料到任務佇列,併發任務從備份佇列刪除
執行緒3:定時從失敗佇列取資料到任務佇列,並把任務從失敗佇列刪除
oracle遷移資料
往本地oracle的 user使用者遷移資料,生成遷移日誌 imp user user 127.0.0.1 orcl file f user 20191203.dmp statistics none fromuser user touser user log d user.log建立使用者 user...
redis migrate 遷移資料
從源redis例項原子的傳送乙個key到目標例項。成功後,刪除源例項中的key,在目標例項中生成。如果目標例項中已經存在將要傳送的鍵,會報鍵已存在錯誤。命令的格式為 migrate host port key destination db timeout keys key1 key2.具體的例子 m...
mysql 遷移資料
一 匯出匯入所有資料庫的資料 1.匯出 mysqldump u root p123456 all databases all.sql 2.匯入 mysql u root p123456 all.sql 二 匯出匯入指定資料庫的資料 1.匯出 mysqldump u root p123456 test...