Aracılığıyla paylaş


Çok kümeli destek

V2'de Çoklu Küme desteği kaldırıldı. Aşağıdaki belgeler v1'i Orleans ifade eder. Orleans v.1.3.0, birkaç Orleans kümeyi tek bir hizmet işlevi gören gevşek bağlı bir çok kümeye federasyon desteği ekledi. Çoklu kümeler, bir hizmet olarak coğrafi dağıtımı kolaylaştırır, yani bir uygulamayı dünyanın dört bir Orleans yanındaki birden çok veri merkezinde çalıştırmayı kolaylaştırır. Ayrıca, daha iyi hata ve performans yalıtımı elde etmek için tek bir veri merkezinde birden çok küme çalıştırılabilir.

Tüm mekanizmalar özellikle şunlara dikkat ederek tasarlanmıştır:

  1. Kümeler arasındaki iletişimi en aza indirin.
  2. Diğer kümeler başarısız olsa veya erişilemez duruma gelse bile her kümenin otonom olarak çalışmasına izin verin.

Yapılandırma ve işlem

Aşağıda, çok kümeli bir kümeyi yapılandırma ve çalıştırmayı belgeleyeceğiz.

İletişim. Kümeler, bir küme içinde kullanılan silodan siloya bağlantılar aracılığıyla iletişim kurar. Kümeler, durum ve yapılandırma bilgilerini değiştirmek için bir dedikodu mekanizması ve dedikodu kanalı uygulamaları kullanır.

Silo Yapılandırması. Siloların, hangi kümeye ait olduklarını bilmeleri için yapılandırılması gerekir (her küme benzersiz bir dizeyle tanımlanır). Ayrıca, her silo, başlangıçta bir veya daha fazla dedikodu kanalına bağlanmalarını sağlayan bağlantı dizesi ile yapılandırılmalıdır.

Çok Kümeli Yapılandırma Ekleme. Çalışma zamanında hizmet operatörü, hangi kümelerin geçerli çoklu kümenin parçası olduğunu belirtmek için küme kimliklerinin listesini içeren çok kümeli yapılandırmayı belirtebilir ve/veya değiştirebilir. Bu, kümelerden herhangi birinde yönetim dilimi çağrılarak yapılır.

Çok kümeli tanecikler

Aşağıda, çok kümeli işlevselliğin uygulama düzeyinde nasıl kullanılacağını belgeleyeceğiz.

Genel-Tek Örnekli Tanecikler. Geliştiriciler, kümelerin belirli bir tanecik sınıfıyla ilgili tanecik dizinlerini ne zaman ve nasıl koordine etmesi gerektiğini belirtebilir. Tek GlobalSingleInstanceAttribute bir genel kümede çalışırken Orleans istediğimiz davranışla aynı davranışı istediğimiz anlamına gelir: diğer bir deyişle, tüm çağrıları tek bir dilim etkinleştirmesine yönlendirin. Buna karşılık, her kümenin OneInstancePerClusterAttribute kendi bağımsız etkinleştirmesine sahip olabileceğini belirtir. Kümeler arasındaki iletişim istenmeyen durumlarda bu uygundur.

Günlük görünümü tanecikleri (v.1.3.0'da değil). Dilim durumunu eşitlemek veya kalıcı hale getirmek için olay kaynağını belirlemeye benzer şekilde yeni bir API kullanan özel bir dilim türü. Kümeler arasında ve depolama ile bir dilimin durumunu otomatik ve verimli bir şekilde eşitlemek için kullanılabilir. Eşitleme algoritmaları yeniden girişli tanelerle güvenli olduğundan ve toplu işlem ve çoğaltma kullanacak şekilde iyileştirildiğinden, bir taneye birden çok kümede sık erişildiğinde ve/veya depolama alanına sık sık yazıldığında standart tanelerden daha iyi performans sergileyebilir. Günlük görünümü tanecikleri desteği henüz ana dalın bir parçası değildir. Dalda geo-orleansörnekler ve biraz belge içeren bir ön sürüm var. Şu anda üretimde erken benimseyen tarafından değerlendiriliyor.