Tidak pasti klien yang anda gunakan berbeza yang mempunyai pelaksanaan teragih yang paling asas, tetapi ini adalah pelaksanaan klien Apabila menambah dan memadamkan nod, anda perlu mengira semula cincang dan memindahkan data itu sendiri. Redis 3 akan mempunyai sokongan pelayan, yang akan menjadikannya lebih mudah.
Pada asasnya, pelaksanaan pelanggan semasa adalah berdasarkan pencincangan yang konsisten seperti yang dikatakan @TechAd Sebagai contoh, Redis::Distributed tersedia untuk pelanggan ruby Ia juga sangat mudah untuk memisahkan data 4G mengikut keperluan anda . https sudah tersedia ://github.com/yankov/redis-migra... Anda boleh menggunakannya secara langsung Mari kita lihat pelaksanaannya.
Adalah disyorkan agar anda mencari algoritma berkaitan pencincangan yang konsisten Idea umum adalah untuk membuat laluan pada klien, membuat cincang untuk kunci, dan kemudian mod 2, menyimpan nilai kunci kepada 0 dan 1 masing-masing. pada dua mesin , perkara yang sama berlaku apabila membaca. Anda boleh rujuk memcache, saya akan berikan pautan rujukan http://blogread.cn/it/article/5271
Anda boleh menggunakan pendekatan 3L, atau cara paling langsung ialah memisahkan data pada lapisan perniagaan dan menulisnya dalam konfigurasi Ini akan menjadi sangat mudah apabila membelah pada masa hadapan dan logiknya adalah mudah perlu melakukannya Diedarkan, disyorkan untuk menggunakan mongoDB
Jika anda tidak memerlukan pepline, disyorkan untuk menggunakan https://github.com/twitter/twemproxy proksi keluar Twitter, pencincangan automatik, failover automatik
如果你是用redis cluster来做这个数据迁移的话,可以看看其官方的介绍:
Dengan mengandaikan anda mempunyai set data sedia ada anda dibahagikan kepada N induk, di mana N=1 jika anda tidak mempunyai serpihan sedia ada, langkah berikut diperlukan untuk memindahkan set data anda ke Redis Cluster:
Hentikan pelanggan anda. Tiada pemindahan langsung automatik ke Kluster Redis boleh dilakukan pada masa ini. Anda mungkin boleh melakukannya dengan mengatur migrasi langsung dalam konteks aplikasi / persekitaran anda.
Hasilkan fail tambah sahaja untuk semua induk N anda menggunakan arahan BGREWRITEAOF dan tunggu fail AOF dijana sepenuhnya.
Simpan fail AOF anda dari aof-1 ke aof-N di suatu tempat. Pada ketika ini, anda boleh menghentikan kejadian lama anda jika anda mahu (ini berguna kerana dalam penggunaan bukan maya anda sering perlu menggunakan semula komputer yang sama).
Buat Kluster Redis yang terdiri daripada N tuan dan sifar hamba. Nanti awak tambah budak. Pastikan semua nod anda menggunakan fail tambah sahaja untuk kegigihan.
Hentikan semua nod kluster, gantikan fail tambah sahaja mereka dengan fail tambah hanya sedia ada anda, aof-1 untuk nod pertama, aof-2 untuk nod kedua, sehingga aof-N.
Mulakan semula nod Kluster Redis anda dengan fail AOF baharu. Mereka akan mengadu bahawa terdapat kunci yang tidak sepatutnya ada mengikut konfigurasi mereka.
Gunakan perintah redis-trib fix untuk membetulkan gugusan supaya kunci akan dipindahkan mengikut slot cincang setiap nod adalah berwibawa atau tidak.
Gunakan semakan redis-trib pada penghujung untuk memastikan kluster anda ok.
Mulakan semula pelanggan anda yang diubah suai untuk menggunakan perpustakaan pelanggan Redis Cluster aware.w
Tidak pasti klien yang anda gunakan berbeza yang mempunyai pelaksanaan teragih yang paling asas, tetapi ini adalah pelaksanaan klien Apabila menambah dan memadamkan nod, anda perlu mengira semula cincang dan memindahkan data itu sendiri. Redis 3 akan mempunyai sokongan pelayan, yang akan menjadikannya lebih mudah.
Pada asasnya, pelaksanaan pelanggan semasa adalah berdasarkan pencincangan yang konsisten seperti yang dikatakan @TechAd Sebagai contoh, Redis::Distributed tersedia untuk pelanggan ruby Ia juga sangat mudah untuk memisahkan data 4G mengikut keperluan anda . https sudah tersedia ://github.com/yankov/redis-migra... Anda boleh menggunakannya secara langsung Mari kita lihat pelaksanaannya.
Semoga ia membantu.
Adalah disyorkan agar anda mencari algoritma berkaitan pencincangan yang konsisten Idea umum adalah untuk membuat laluan pada klien, membuat cincang untuk kunci, dan kemudian mod 2, menyimpan nilai kunci kepada 0 dan 1 masing-masing. pada dua mesin , perkara yang sama berlaku apabila membaca. Anda boleh rujuk memcache, saya akan berikan pautan rujukan http://blogread.cn/it/article/5271
Anda boleh menggunakan pendekatan 3L, atau cara paling langsung ialah memisahkan data pada lapisan perniagaan dan menulisnya dalam konfigurasi Ini akan menjadi sangat mudah apabila membelah pada masa hadapan dan logiknya adalah mudah perlu melakukannya Diedarkan, disyorkan untuk menggunakan mongoDB
Jika anda tidak memerlukan pepline, disyorkan untuk menggunakan https://github.com/twitter/twemproxy proksi keluar Twitter, pencincangan automatik, failover automatik
Tanya, adakah twemproxy tidak menyokong penukaran aktif/siap sedia automatik?
如果你是用redis cluster来做这个数据迁移的话,可以看看其官方的介绍:
Dengan mengandaikan anda mempunyai set data sedia ada anda dibahagikan kepada N induk, di mana N=1 jika anda tidak mempunyai serpihan sedia ada, langkah berikut diperlukan untuk memindahkan set data anda ke Redis Cluster:
Hentikan pelanggan anda. Tiada pemindahan langsung automatik ke Kluster Redis boleh dilakukan pada masa ini. Anda mungkin boleh melakukannya dengan mengatur migrasi langsung dalam konteks aplikasi / persekitaran anda.
Hasilkan fail tambah sahaja untuk semua induk N anda menggunakan arahan BGREWRITEAOF dan tunggu fail AOF dijana sepenuhnya.
Simpan fail AOF anda dari aof-1 ke aof-N di suatu tempat. Pada ketika ini, anda boleh menghentikan kejadian lama anda jika anda mahu (ini berguna kerana dalam penggunaan bukan maya anda sering perlu menggunakan semula komputer yang sama).
Buat Kluster Redis yang terdiri daripada N tuan dan sifar hamba. Nanti awak tambah budak. Pastikan semua nod anda menggunakan fail tambah sahaja untuk kegigihan.
Hentikan semua nod kluster, gantikan fail tambah sahaja mereka dengan fail tambah hanya sedia ada anda, aof-1 untuk nod pertama, aof-2 untuk nod kedua, sehingga aof-N.
Mulakan semula nod Kluster Redis anda dengan fail AOF baharu. Mereka akan mengadu bahawa terdapat kunci yang tidak sepatutnya ada mengikut konfigurasi mereka.
Gunakan perintah redis-trib fix untuk membetulkan gugusan supaya kunci akan dipindahkan mengikut slot cincang setiap nod adalah berwibawa atau tidak.
Gunakan semakan redis-trib pada penghujung untuk memastikan kluster anda ok.
Mulakan semula pelanggan anda yang diubah suai untuk menggunakan perpustakaan pelanggan Redis Cluster aware.w