Uygulama düğümü durduğunda Semaphore'u erişilebilir tutun
Aktif Semaphore düğümlerini tek servis adresi arkasına koyun. Ortak veritabanı ve Redis koordinasyonuyla uygulama düğümü bakımı sırasında arayüzü ve API'yi erişilebilir tutun.
Altyapınız otomasyonun erişilebilirliğine bağlıdır
Olay sırasında ekibin kurtarma işleri ve altyapı değişiklikleri için Semaphore'a ihtiyacı vardır. Tek bir kullanılamayan uygulama düğümü bu erişimi ortadan kaldırmamalıdır.
Enterprise HA ile Semaphore'u erişilebilir tutun
Enterprise HA, diğer düğüm durduğunda sağlıklı uygulama düğümleri üzerinden arayüzü ve API'yi erişilebilir tutar.
HA için Semaphore'a gerekenler
İki veya daha fazla Semaphore düğümü
En az iki eşdeğer Semaphore örneği çalıştırın. Ortak yapılandırmayı uyumlu tutun ve her düğüme benzersiz ha.node_id.
HTTP + WebSocket yük dengeleme
HTTP ve WebSocket bağlantılarını sağlıksız düğümü havuzundan çıkarabilen yük dengeleyiciden geçirin.
Ortak SQL veritabanı ve Redis
Her düğümü aynı PostgreSQL veya MySQL veritabanına ve Redis backend'ine bağlayın. Bu ortak servisleri de hatalara karşı koruyun. SQLite HA için desteklenmez.
Üretim dağıtımının kalanını planlayın
Tüm dağıtım için erişilebilirlik planlayın
Ortak durumu mimaride görünür tutun
Belgelenmiş topoloji aktif-aktiftir: eşit Semaphore düğümleri ortak PostgreSQL veya MySQL veritabanını ve Redis koordinasyonunu kullanır. Veritabanı uygulama durumunu tutar; Redis dağıtık kilitleri, kuyruk durumunu ve düğümler arası güncellemeleri destekler. SQLite ve BoltDB bu HA tasarımı için desteklenen veritabanı seçenekleri değildir.
Hem istekleri hem canlı güncellemeleri destekleyin
Yük dengeleyici istemcilerin sağlıklı uygulama düğümlerine ulaşıp canlı güncellemeler alması için HTTP ve WebSocket trafiğini işlemelidir. Kendi yedekliliği, TLS yapılandırması, sağlık kontrolleri ve operasyonel davranışı dağıtıma aittir. Uygulama düğümü eklemek bunları otomatik yapılandırmaz.
Uygulamayı ve yürütme yollarını ayrı ölçekleyin
Uygulama düğümleri web/API ve koordinasyon katmanını sağlar. Çalıştırıcılar görev yürütmeyi bağımsız olarak konumlandırıp genişletebilir. Bu, her ek uygulama düğümünün hepsini çözdüğünü varsaymak yerine kapasite değişikliğinin kullanıcı/API yükü, görev eşzamanlılığı veya başka ağa erişimle mi ilgili olduğunu anlamayı sağlar.
Her hata alanına kendi kurtarma planını verin
Uygulama düğümü erişilebilirliği, veritabanı kurtarma, Redis erişilebilirliği ve tesis düzeyinde felaket kurtarma farklı sorumluluklardır. Yedekler, geri yükleme testleri, kurtarma hedefleri ve sürüm uyumlu yükseltme prosedürleri gerekli olmaya devam eder. Topoloji bir hata türünü tolere ederken diğerine karşı savunmasız kalabilir.
Redis Sentinel ile koordinasyonu erişilebilir tutun
Koordinasyon da hata geçişi gerektiriyorsa Redis Sentinel backend'i kullanın. Her Semaphore düğümü aktif Redis master'ı Sentinel üzerinden keşfeder ve yükseltilen replikayı yeniden başlamadan takip eder. Aynı Sentinel dağıtımını uygulama düğümlerinde, ortak veritabanı ve yük dengeleyici erişilebilirlik planıyla birlikte yapılandırın.
Ortak bağımlılıkları erişilebilirlik planına dahil edin
SQL veritabanı, Redis ve yük dengeleyici her uygulama düğümüne hizmet verir. Bu servisler için de Semaphore düğümleriyle birlikte yedeklilik ve kurtarma yapılandırın.
Veriler için kurtarma yolu koruyun
Uygulama yedekliliği ve veri kurtarma farklı sorunları çözer. Otomasyonun bağlı olduğu veritabanı ve yapılandırma için yedekleri koruyun ve geri yüklemeyi test edin.
Belgeler ve ilgili özellikler
FAQ
Semaphore yüksek erişilebilirliği için hangi bileşenler gerekir?
Belgelenmiş aktif-aktif mimari birden fazla Semaphore uygulama düğümü, ortak PostgreSQL veya MySQL veritabanı, Redis koordinasyonu ve HTTP ile WebSocket trafiğini destekleyen yük dengeleyici kullanır. Her düğüme uygun ortak ayarlar ve benzersiz HA kimliği gerekir. Bağımlılıkların erişilebilirliğini uygulama düğümleriyle birlikte planlayın. İkinci süreç tek başına tam topolojinin gerektirdiği ortak durum ve koordinasyonu sağlamaz.
Semaphore HA aktif-aktif mi, aktif-pasif mi?
Burada anlatılan mimari aktif-aktiftir; eşit uygulama düğümleri hizmete katılır. Ayrılmış birincil uygulama düğümü ve pasif yedeğe bağlı değildir. Desteklenen tasarımı kurmak için güncel HA kılavuzunu kullanın; genel erişilebilirlik ifadelerinden ayrı aktif-pasif başvuru mimarisi sonucu çıkarmayın. Altyapınız başka topoloji gerektiriyorsa dağıtımdan önce durum ve hata geçişi davranışını çözün.
HA dağıtımında SQLite veya BoltDB kullanabilir miyim?
Hayır. Belgelenmiş HA tasarımı Redis ile birlikte ortak PostgreSQL veya MySQL veritabanı gerektirir. Veritabanı katılan düğümler için ortak uygulama durumu kaynağıdır. Başka depolama kullanan tek düğümlü düzenden geçiyorsanız geçişi, yedekleri ve doğrulamayı ayrı iş olarak planlayın. Uygulama düğümleri eklemek, ortak veritabanının gerekli verileri içerip sunduğunu ilk kez test ettiğiniz an olmamalıdır.
Uygulama HA'sı veritabanını, Redis'i ve yük dengeleyiciyi de korur mu?
Bu bileşenlerin kendi dayanıklılık stratejisi gerekir. Semaphore'un çok düğümlü uygulama tasarımı otomatik veritabanı hata geçişi, yedekli yük dengeleme veya erişilebilir Redis oluşturmaz. Her bağımlılığın hata alanını, kurtarma sürecini ve kapasite gereksinimlerini belirleyin. Erişilebilirlik planının yalnızca çalışan uygulama düğümü sayısını değil insanların kullandığı servisi kapsaması için istemci isteğinden görev sonucuna tüm yolu test edin.
Çalışan görevler uygulama düğümü hatası veya yükseltmesinden sağ çıkar mı?
Birden fazla uygulama düğümünün varlığından kesintisiz devam eden yürütme sonucu çıkarmayın. Davranış yürütme yoluna, arızalı bileşene ve kullanılan sürüme bağlıdır. Durum bildirimi ve çalıştırıcı katılımı dahil güvendiğiniz görev yaşam döngüsünü test edin. Her sürüm değişikliğini sıfır kesintili aşamalı yükseltme garantisi saymak yerine yükseltme uyumluluğunu ve geçişleri bilinçli planlayın. Arayüz erişilebilirliği ve görev devamlılığı farklı gereksinimlerdir.
HA hangi plana dahildir ve nasıl değerlendirmeliyiz?
Yüksek erişilebilirlik Enterprise özelliğidir. Gereken çalışma saatleri, bakım süreci, kurtarma hedefleri ve mevcut veritabanı ile yük dengeleyici servislerinden başlayın. Eksikleri belirlemek için belgelenmiş topolojiyi kullanın; sonra temsilî ortamda düğüm kaldırmayı, bağımlılık kurtarmayı ve yedekleri test edin. Bu gereksinimler iş açısından kritikse mimari görüşme yararlıdır; sonucu tek özellik anahtarı değil tüm dağıtım belirler.
Uygulama düğümü kapatıldığında kullanıcılar aynı URL'yi koruyabilir mi?
Aktif uygulama düğümlerini yük dengeli tek servis adresi arkasına koymanın amacı budur. Yük dengeleyici erişilemeyen düğüme istek göndermeyi durdurmalı ve HTTP ile WebSocket trafiğini desteklemelidir. Projeye hizmet vermek için kalan düğüm hâlâ ortak veritabanı, Redis ve eşleşen uygulama yapılandırmasına erişmelidir.
Birden fazla özel ağda görev yürütmek için HA gerekir mi?
Hayır. Birden fazla yürütme konumunu çalıştırıcılar yönetir. Yüksek erişilebilirlik Semaphore uygulama katmanıyla; çalıştırıcılar görevlerin nerede yürütüldüğü ve hangi sistemlere eriştiğiyle ilgilidir. Üretim dağıtımı ikisini kullanabilir: ortak arayüz ve API için HA uygulama düğümleri, özel altyapıya yakın proje çalıştırıcıları.
