Yüksek Kullanılabilirlik için beanstalkd çoğaltma


15

Başlık her şeyi söylüyor.

Herkes beanstalkd çoğaltmak için bir yol biliyor mu ki bir beanstalk sunucusu düşerse, diğer köleler devralabilir?

Burada düşündüğüm bir yaklaşım var: Ben beantalk paylaşılan bir konuma onun binlog (-b ile) yazmak ve sonra birincil başarısız olursa bir şekilde ikincil / yedekleme sunucusu beantalkd başlatmak yapabilirsiniz.

Yine de daha iyi bir yol olmalı.

Yanıtlar:


5

: O binlog aracılığıyla diske yazma beri MySQL genellikle do Yöneticiler ne benzer şeyler yapabileceğini düşünmek istiyorum kalp atışı w / DRBD ( örnek burada).

Yine de kalp atışı kullanmaya çalıştığımda, düğümler arasında çok noktaya yayın olmayan denetimi desteklemedi, yani bulut / VPS altyapısında (AWS, Linode, Slicehost, vb.) Çalışmak neredeyse imkansızdı. Aslında, çoğu kümeleme hizmeti çok noktaya yayın kullanır. Bu artık geçerli olmayabilir, ancak farkında olunması gereken bir şey. Kullanılacak mümkün olabilir keepalived noktaya yayın destekler ANCAK Willy Tarreau (yazarı yoluyla ulaşılabilir bir yama var da sadece temin etmek ip tabanlı yük devretme, HAProxy kadar) tek noktaya desteği ekleyin . Ben şahsen bir çift Linode VPS sunucusu üzerinde test ettik ve keepalived ana sunucunun başarısız olması durumunda paylaşılan bir IP adresini yük devretmek mümkün.

Muhtemelen daha az optimal olan yapabileceğiniz bir şey, işleri bir kaç beanstalkd sunucusuna (bölümleme olarak adlandırmak) yazmaktır. Bunlardan biri kapanırsa, uygulamanızın bunu algılamasını ve bunun yerine diğer örneklere yazmasını sağlayın. İşçileriniz her bir fasulyeyi akıllıca yoklamalı ve ölü örnekleri görmezden gelebilmelidir. Binloglama yaptığınızdan, bir örneği geri getirmek yeniden başlatmak kadar kolay olmalıdır ve uygulama / çalışanlar bunu algılar ve her zamanki gibi devam eder (ve yeni başlayan örnekte işleri işlemeye başlar). Süreci açıkça basitleştiriyorum, ancak bu işlemek için başka bir yol var.


1
Corosync tek noktaya yayını destekler ve Redhat tabanlı dağıtımlarda varsayılan kümeleme aracıdır.
Terence Johnson

Teşekkürler, Corosync hakkında bir şey bilmiyordum. Gelecek projeler için bunu aklınızda tutacaktır.
andrew
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.