Aracılığıyla paylaş


Yük dengeleme

Genel anlamda, yük dengeleme, Orleans çalışma zamanının yapı taşlarından biridir. Çalışma zamanı, kaynak kullanımını en üst düzeye çıkarmak, etkin noktaları önlemek, daha iyi performans sağlamak ve esnekliğe yardımcı olmak için her şeyi dengede tutmaya çalışır. içindeki Orleans yük dengeleme birden çok yerde geçerlidir. Aşağıda, çalışma zamanının dengeleme gerçekleştirdiği yerlerin kapsamlı olmayan bir listesi yer almaktadır:

  1. Varsayılan aktör yerleştirme stratejisi rastgeledir; yeni etkinleştirmeler silolar arasında rastgele yerleştirilir. Bu, dengeli bir yerleşimle sonuçlanır ve çoğu senaryoda yoğunluk noktalarını önler.
  2. Daha gelişmiş ActivationCountBasedPlacement bir strateji, tüm silolardaki etkinleştirme sayısını eşitlemeye çalışır ve bu da silolar arasında daha eşit bir dağıtıma neden olur. Bu özellikle esneklik için önemlidir.
  3. Grain dizin hizmeti, doğası gereği dengeli olan bir dağıtılmış karma tablosu üzerine inşa edilir. Dizin hizmeti, tahılları etkinleştirmelerle eşleştirir. Her bir silo, küresel eşleme tablosunun bir kısmına sahip olur ve bu tablo, sanal demetlerle tutarlı karma kullanılarak dünyanın her yerinde dengeli bir şekilde tüm silolar arasında bölümlendirilmiştir.
  4. İstemciler tüm ağ geçitlerine bağlanır ve isteklerini dengeli bir şekilde tüm ağ geçitlerine dağıtır.
  5. Anımsatıcı hizmeti dağıtılmış, bölümlenmiş bir çalışma zamanı hizmetidir. Hangi silonun hangi hatırlatıcıdan sorumlu olduğu ataması, tıpkı tahıl dizininde olduğu gibi, tutarlı karma oluşturma yoluyla tüm silolarda dengelenmiştir.
  6. Silo içindeki performans açısından kritik bileşenler bölümlenir ve bunlar arasındaki çalışma yerel olarak dengelenir. Bu, silo çalışma zamanının tüm kullanılabilir CPU çekirdeklerini tam olarak kullanmasına ve silo içi performans sorunlarını önlemesine olanak tanır. Bu, tüm yerel kaynaklar için geçerlidir: işin iş parçacıklarına, soketlere, dağıtım sorumluluklarına ve kuyruklara ayrılması.
  7. Kümedeki QueueBalancerBase, silolar arasında kalıcı kuyruklardan olayları çekme sorumluluğunu dengeler.

Dengeleme, yerellik kaybı anlamına gelmez. İyi bir yerellik sağlamaya devam ederken dengeyi sağlayabilirsiniz. Örneğin, dengeleme parçalama/bölümleme içerdiğinde, her bölümde yerelliği korurken belirli bir mantıksal görevin sorumluluğunu bölümleyebilirsiniz. Bu hem yerel hem de dağıtılmış dengeleme için geçerlidir.