Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Równoważenie obciążenia, ogólnie rzecz biorąc, stanowi jeden z filarów środowiska uruchomieniowego Orleans. Środowisko Orleans uruchomieniowe próbuje zachować zrównoważony stan, ponieważ równoważenie maksymalizuje użycie zasobów, unika hotspotów, prowadzi do lepszej wydajności i pomaga w elastyczności. Równoważenie obciążenia w Orleans ma zastosowanie w wielu miejscach. Poniżej znajduje się niewyczerpująca lista, w której środowisko uruchomieniowe wykonuje równoważenie:
- Domyślna strategia umieszczania aktora jest losowa; nowe aktywacje są losowo umieszczane w silosach. Powoduje to zrównoważone umieszczanie i uniemożliwia hotspoty w większości scenariuszy.
- Bardziej zaawansowana ActivationCountBasedPlacement strategia stara się wyrównać liczbę aktywacji na wszystkich silosach, co powoduje bardziej równomierny rozkład między silosami. Jest to szczególnie ważne dla elastyczności.
- Usługa katalogowa ziarna jest oparta na rozproszonej tabeli skrótów, która jest z założenia zrównoważona. Usługa katalogowa mapuje ziarna na aktywacje. Każdy silos zarządza częścią globalnej tabeli mapowania, a ta tabela jest globalnie partycjonowana w zrównoważony sposób we wszystkich silosach przy zastosowaniu jednolitego hashowania z wirtualnymi koszami.
- Klienci łączą się ze wszystkimi bramami i rozkładają swoje żądania między nimi w zrównoważony sposób.
- Usługa przypomnienia jest rozproszoną, partycjonowaną usługą środowiska uruchomieniowego. Przypisanie silosu odpowiedzialnego za obsługę konkretnego przypomnienia jest równoważone we wszystkich silosach za pomocą konsystentnego haszowania, podobnie jak w przypadku katalogu ziaren.
- Składniki krytyczne dla wydajności w silosie są partycjonowane, a praca między nimi jest lokalnie zrównoważona. Dzięki temu środowisko uruchomieniowe silosu może w pełni korzystać ze wszystkich dostępnych rdzeni procesora i unikać wąskich gardeł wewnątrz silosu. Dotyczy to wszystkich zasobów lokalnych: alokacji pracy do wątków, gniazd, obowiązków wysyłania, kolejek itp.
- Moduł QueueBalancerBase równoważy odpowiedzialność za pobieranie zdarzeń z kolejek trwałych między silosami w klastrze.
Równoważenie niekoniecznie oznacza utratę lokalności. Przy zachowaniu dobrej lokalizacji można osiągnąć równowagę. Na przykład, gdy równoważenie obejmuje segmentację/partycjonowanie, można podzielić odpowiedzialność za określone zadanie logiczne, zachowując lokalność w ramach każdej partycji. Dotyczy to zarówno równoważenia lokalnego, jak i rozproszonego.