Mevcut bir JNDI HornetQ servisini HA olarak yapma adımları?


177

TL; DR

Bir HA-JNDI hizmetini HornetQ kurulumuyla yapılandırma adımları nelerdir? Belgelerin biraz dağınık olduğuna inanıyorum. Burada dokümanlarý okudum ama detaylý gibi görünmüyor.

Daha uzun versiyon:

Bu yüzden JNDI ile birlikte bir HornetQ JMS kurulumumuz var. Her birinde JNDI hizmeti ile HornetQ JMS ana örneğini çalıştıran 5 sunucu var. Bu 5 sunucunun her birinde, diğer bazı HornetQ ustası için çalışan bir köle var.

Örneklemek gerekirse:

Server A - HornetQa_master, JNDI, HornetQb_slave
Server B - HornetQb_master, JNDI, HornetQc_slave
Server C - HornetQc_master, JNDI, HornetQd_slave
Server D - HornetQd_master, JNDI, HornetQe_slave
Server E - HornetQe_master, JNDI, HornetQa_slave

Bu HornetQ sunucularının her biri çeşitli arka uç gereksinimlerimiz için ara katman yazılımı görevi görür, yani 5 sunucu, 5 HornetQ ana örneği, 5 HornetQ bağımlı örneği ve 5 JNDI sunucusu anlamına gelir. Bununla birlikte, bu kurulumda sorun, bir sunucu ana bilgisayarı (yalnızca işlem değil, ana bilgisayarın kendisi), A derse, ideal olarak hizmetin A'nın HornetQ köleğini barındıran E sunucusunda çalışan HornetQ'ya geri dönmesi gerektiğidir. Ancak, HornetQ yöneticisi olarak kaldığı yerden devam etmek için, HornetQa_slave'in sunucu A'da çalışan JNDI işlemiyle konuşması gerekir (iletileri çoğaltmayı varsayıyorum). A konağının kendisi çöktüğünden, E üzerinde çalışan HornetQa_slave'in A üzerindeki JNDI ile konuşması mümkün değildir ve bu nedenle ana süreç olarak devam edemez.

JNDI hizmeti yüksek düzeyde mevcut olsaydı, bağımlı HornetQ süreci beklendiği gibi master olarak devam edebilir. Herkes dokümanlara işaret edebilir veya mevcut kurulumumuzu HA-JNDI'ya nasıl dönüştürebileceğimizi basit adımlarla gösterebilir mi? Değeri için, birden fazla kaynak okudum , ancak bir HA-JNDI yapılandırmaya nasıl başlayacağınız hakkında çok ayrıntılı olarak görünmüyor. Mevcut kurulumumuz hakkında daha fazla bilgiye ihtiyacınız olursa lütfen bize bildirin.


8
Müşterileriniz nerede çalışıyor? Aynı AS örneklerinde mi yoksa başka bir örnekte / JVM'de mi yoksa her ikisinde mi çalışıyorlar?
jjhavokk

3
@jjhavokk başka bir JVM üzerinde çalışıyorlardı
gravetii

4
HornetQ'yu Yüksek Kullanılabilirlik modunda etkinleştirebilir misiniz (aktif - pasif çoğaltma)? Bunu sunucu dinamik keşfi ile birleştirin ve güvenilir bir yedek almalısınız. Bkz. Docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/… ve docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/…
diginoise

4
Hangi jboss sürümünü kullanıyorsunuz?
eis

5
Bunun gerçekten eski olduğunu görüyorum, ama cevabı bulup bulmadığınızı merak ediyorum. Şimdiye kadar muhtemelen HA'nın mesajları yaymak için <forward-when-no-consumers> true </forward-when-no-consumers> 'a ihtiyaç duyduğunu biliyorsunuz, ancak ustalaşmanın başarısızlığı işe yaramıyor. Weblogic ve websphere'de yeniden çalışmanın çalıştığı aynı yapıda bulundum, ancak jboss ile çalışmıyor. Master'ın cevapsız mesajları senkronize etmesine ve güncellemesine izin verecek şekilde ayarlanması gereken bir şey var mı?
user1442498

Yanıtlar:


1

Açıklanan mimari ile benim için zor görünüyor, çünkü gerçekten de köleyi usta olarak yeniden yapılandırmanız gerekiyor ve sonra belli bir kesinti olacak.

HornetQ HA, canlı bir yedekleme çifti ve yük dengeleme bir küme üzerinden sağlanır.

Hem HA hem de yük dengeleme istiyorsanız, birlikte kümelenmiş 2 canlı yedekleme çiftine ihtiyacınız olacaktır.

Kaynak: https://developer.jboss.org/thread/254232

Master'a ana bilgisayar adı ile değil, sanal bir IP adresi kullanarak başvurabilirsiniz , böylece master çalışmıyorsa, slave'lerden birini master olarak yeniden yapılandırabilir ve geri kalanını yeniden yapılandırmanız gerekmeyecek şekilde sanal ip'i başlatabilirsiniz. kölelerin (Master kapalıyken bile HA'yı tutmak için, 2 köleniz olmasını istersiniz, böylece birini master olarak yeniden başlatabilirsiniz ve yine de biri çalışır durumdadır).

Aynı sonucu elde etmenin başka bir yolu, bir ana bilgisayar çalışmıyorsa, farklı bir IP'yi işaret edecek şekilde yeniden yapılandırabileceğiniz ana sisteme özgü bir DNS ana makine adıdır. DNS önbelleğe alındığından, bu girişlerin 'hosts' dosyasında olması daha iyi olur.

HA etki alanı başına 3 ana bilgisayar çok fazla donanım içeriyorsa, daha fazla donanım satın almak zorunda kalmadan bunu sanal sunucularla daha kolay yapabilirsiniz.

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.