Redis: Gunakan replika Redis tanpa mode cluster

Dibuat pada 1 Des 2016  ·  8Komentar  ·  Sumber: go-redis/redis

Kami memiliki konfigurasi master + replika Redis tanpa menggunakan mode cluster. Kami ingin merutekan bacaan ke keduanya berdasarkan latensi. Saya melihat go-redis memiliki fitur ini tetapi sepertinya itu hanya tersedia dengan mode cluster. Adakah rencana untuk mendukungnya pada klien non cluster?

Komentar yang paling membantu

Saya memiliki kebutuhan yang sama, ingin melihat fitur ini menggunakan replika baca tanpa sentinel/cluster.

Semua 8 komentar

Tidak, saya tidak mengetahui cara apa pun untuk mencapai ini. Dan karena ini pada dasarnya adalah Redis Cluster dengan 2 node (master+slave), saya tidak melihat banyak nilai dalam mendukung ini di klien standar...

Sangat umum bagi orang untuk memiliki replika baca Redis tanpa Redis berada dalam mode cluster, setidaknya untuk saat ini karena menjamin konsistensi yang kuat dan secara operasional lebih sederhana.

Masalah lain, https://github.com/go-redis/redis/issues/673 , juga meminta fitur ini.

Jika Anda tidak memerlukan master sharding dan Anda hanya ingin meningkatkan pembacaan daripada pengaturan mode non-cluster dari replika baca tanpa mode cluster ini lebih berkinerja. Karena permintaan untuk fitur ini hadir dan telah diterapkan oleh https://github.com/luin/ioredis saya menabrak ini.

Kesulitan yang saya lihat di sini adalah bagaimana mengulangi replika baca.

Akan lebih bagus jika Anda mengizinkan untuk memilih strategi perutean yang berbeda. Untuk kasus penggunaan kami, kami ingin perutean berdasarkan latensi (yang sudah Anda miliki di klien klaster) sementara yang lain mungkin menginginkan perutean round robin.

Omong-omong, senang Anda melihat perlunya fitur ini. Terima kasih!

Saya memiliki kebutuhan yang sama, ingin melihat fitur ini menggunakan replika baca tanpa sentinel/cluster.

@Kuqd Saya memiliki masalah yang sama. Saya memecahkan sekarang memiliki dua koneksi. redisClient dan redisClientRead

Kami juga memiliki solusi serupa. Karena kami memiliki beberapa replika baca, kami menginisialisasi beberapa klien go-redis, menempatkannya dalam satu irisan dan kemudian secara acak memilih satu untuk operasi baca.

@pranas @ramonberrutti Ini adalah solusi yang baik. Terima kasih.

Meskipun untuk kasus penggunaan saya, ini membutuhkan sedikit refactor karena saya banyak membaca dan menulis. Saya akan memikirkannya terima kasih.

Lihat https://godoc.org/github.com/go-redis/redis#example -NewClusterClient--ManualSetup. Ini menggunakan 2 node master, tetapi menggunakan master tunggal juga harus berfungsi.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat