cari

Rumah  >  Soal Jawab  >  teks badan

做Redis集群的时候,可不可以将Master实例和Slave实例放在一个主机当中?

线上的实际情况是总共有4台服务器。现在主要用的是memcache,并且目前只用了61M左右的内存空间。公司的需求是逐步把整个网站的缓存迁移到redis。

目前的想法是拿3台服务器拿来做集群,每台服务器配置一个Master实例。为了实现高可用,还需要给每台服务器配置一个Slave实例。我想问的是,可不可以将Master实例和Slave实例配置到一个主机当中,以及这样配置所带来的影响?

还有一种想法是,只用2台服务器,1台服务器运行3个Master实例,另一台服务器运行3个Slave实例。大家还有更好的解决方案吗?

还听他们说,集群的话至少要有3个主节点。用2个主节点不行吗?

PHP中文网PHP中文网2795 hari yang lalu941

membalas semua(5)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-25 09:05:24

    Jika anda meletakkan tuan dan hamba pada mesin yang sama, akan ada masalah:

    1. Kedua-dua tuan dan hamba perlu mengisi memori semasa berjalan, dan memori mesin mungkin tidak mencukupi

    2. Jika mesin mati, dimatikan, atau rangkaian diputuskan, maka tiada ketersediaan tinggi untuk tuan dan hamba.

    Adalah yang terbaik untuk meletakkan tuan dan hamba pada mesin yang berbeza.

    Mengapa ia adalah 3 bukannya 2. Ini adalah strategi terbaik semasa pilihan raya kelompok. Redis3.0 mula menyokong kelompok.

    Secara amnya, untuk kluster mencapai konsensus mengenai keadaan awam tertentu, lebih separuh daripada kejadian redis dalam kluster perlu bersetuju.
    Mengapa kita memerlukan majoriti? Kerana kita perlu mempertimbangkan situasi split-brain dalam kelompok, iaitu, partition rangkaian
    Majoriti boleh menjamin bahawa tidak kira bagaimana rangkaian itu diasingkan, tidak kira bagaimana otaknya Tidak kira berapa banyak kelompok kecil yang diasingkan gugusan besar, sekurang-kurangnya satu tika dalam kelompok kecil yang boleh menyediakan perkhidmatan (bermakna terdapat lebih separuh daripada kejadian) disegerakkan kepada maklumat status terkini.

    Setelah memahami majoriti yang disebutkan di atas, maka kita mempunyai latar belakang untuk bercakap tentang mengapa ia nombor ganjil
    Nombor genap juga boleh mempunyai majoriti, contohnya, 4 Untuk sekumpulan contoh, 3 adalah majoriti.
    Tetapi kenapa nombor ganjil masih yang terbaik?
    Jika kluster mempunyai 5 kejadian, ia hanya boleh bertolak ansur dengan ranap 2 kejadian.
    Jika terdapat 6 kejadian dalam kelompok, ia hanya boleh bertolak ansur dengan ranap 2 kejadian.
    Dengan toleransi yang sama, apakah perbezaan antara 6 dan 5:

    • Memandangkan kluster perlu berkomunikasi antara satu sama lain, semakin banyak kejadian, semakin besar overhed rangkaian

    • Semakin banyak kejadian, apabila terdapat 5 kejadian, kebarangkalian ranap 3 kejadian adalah kurang daripada apabila terdapat 6 kejadian.

    Jadi sudah tentu nombor ganjil adalah yang paling menjimatkan kos.

    balas
    0
  • 習慣沉默

    習慣沉默2017-04-25 09:05:24

    Boleh jadi, cuma tetapkan port yang berbeza Bagi kesannya, saya rasa ia tidak mempunyai sebarang kesan istimewa.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-25 09:05:24

    Jika terdapat 3 mesin, masing-masing akan menjalankan master, dan kemudian meletakkan hamba masing-masing pada mesin yang berbeza untuk membentuk sandaran cincin, bukannya meletakkan telur dalam satu bakul.
    Jika anda mempunyai sumber IP yang mencukupi, cari perisian tengah ha untuk melaksanakan ketersediaan tinggi.

    balas
    0
  • 怪我咯

    怪我咯2017-04-25 09:05:24

    Tidak disyorkan untuk meletakkan persekitaran pengeluaran pada mesin fizikal yang sama. Kelompok dengan 3 induk bercakap tentang gugusan 3.0 Jumlah nod yang ganjil memastikan pengundian boleh menghasilkan keputusan yang pasti

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-04-25 09:05:24

    Baiklah, mari letakkan Budak itu di tempat lain.

    Apa pendapat anda tentang reka bentuk ini?

    balas
    0
  • Batalbalas