Yük dengeleme
Büyük anlamda yük dengeleme, çalışma zamanının yapı Orleans taşlarından biridir. Orleans dengeleme kaynak kullanımını en üst düzeye çıkarmaya ve etkin noktalardan kaçınmaya olanak sağladığından çalışma zamanı her şeyi dengeli hale getirmeye çalışır ve bu da daha iyi performansa yol açar ve esneklik konusunda yardımcı olur. içindeki Orleans yük dengeleme birden çok yerde geçerlidir. Çalışma zamanının dengeleme gerçekleştirdiği yerlerin kapsamlı olmayan bir listesi aşağıdadır:
- Varsayılan aktör yerleştirme stratejisi rastgeledir, yeni etkinleştirmeler silolar arasında rastgele yerleştirilir. Bu da dengeli bir yerleştirmeye neden olur ve çoğu senaryo için etkin noktaları engeller.
- Daha gelişmiş ActivationCountBasedPlacement bir seçenek, tüm silolardaki etkinleştirme sayısını eşitlemeye çalışır ve bu da etkinleştirmelerin silolar arasında daha eşit bir şekilde dağıtılmasını sağlar. Bu özellikle esneklik için önemlidir.
- Grain dizin hizmeti, doğası gereği dengeli olan dağıtılmış karma tablosunun üzerine kurulmuştur. Dizin hizmeti, dilimleri etkinleştirmelerle eşler, her silo genel eşleme tablosunun bir bölümüne sahip olur ve bu tablo tüm silolar arasında dengeli bir şekilde genel olarak bölümlenmiştir. Bunun için sanal demetlerle tutarlı karma kullanırız.
- İstemciler tüm ağ geçitlerine bağlanır ve isteklerini dengeli bir şekilde tüm ağ geçitlerine dağıtır.
- Anımsatıcı hizmeti dağıtılmış bölümlenmiş bir çalışma zamanı hizmetidir. Hangi silonun atanması, aynı grain dizininde olduğu gibi tutarlı karma oluşturma yoluyla tüm silolar arasında hangi anımsatıcının dengelendiğine hizmet vermek için sorumludur.
- Silo içindeki performans açısından kritik bileşenler bölümlenir ve bunlar arasındaki çalışma yerel olarak dengelenir. Bu şekilde silo çalışma zamanı tüm kullanılabilir CPU çekirdeklerini tam olarak kullanabilir ve silo içi performans sorunları oluşturmaz. Bu tüm yerel kaynaklar için geçerlidir: işin iş parçacıklarına, yuvalara, dağıtım sorumluluklarına, kuyruklara vb. ayrılması.
- Kümedeki QueueBalancerBase silolar arasında kalıcılık kuyruklarından olayları çekme sorumluluğunu dengeler.
Dengeleme, yerellik kaybı anlamına gelmez. Dengelenebilir ve yine de iyi bir yerellik sağlayabilirsiniz. Örneğin, dengeleme parçalama/bölümleme anlamına geldiğinde, belirli bir mantıksal görevin sorumluluğunu bölümleyebilir ve her bölümde yerelliği koruyabilirsiniz. Bu, hem yerel hem de dağıtılmış dengeleme için geçerlidir.