ActivationCountBasedPlacement Kelas

Definisi

Strategi penempatan yang mencoba mencapai beban yang kira-kira merata berdasarkan jumlah biji-bijian yang baru-baru ini aktif di setiap server.

[Orleans.GenerateSerializer]
[Orleans.Immutable]
[Orleans.SuppressReferenceTracking]
[System.Serializable]
public sealed class ActivationCountBasedPlacement : Orleans.Runtime.PlacementStrategy
[System.Serializable]
public class ActivationCountBasedPlacement : Orleans.Runtime.PlacementStrategy
[<Orleans.GenerateSerializer>]
[<Orleans.Immutable>]
[<Orleans.SuppressReferenceTracking>]
[<System.Serializable>]
type ActivationCountBasedPlacement = class
    inherit PlacementStrategy
[<System.Serializable>]
type ActivationCountBasedPlacement = class
    inherit PlacementStrategy
Public NotInheritable Class ActivationCountBasedPlacement
Inherits PlacementStrategy
Public Class ActivationCountBasedPlacement
Inherits PlacementStrategy
Warisan
ActivationCountBasedPlacement
Atribut

Keterangan

Tujuan dari strategi penempatan ini adalah untuk menempatkan aktivasi biji-bijian baru pada server yang paling tidak banyak dimuat berdasarkan jumlah biji-bijian yang sibuk baru-baru ini. Ini termasuk mekanisme di mana semua server secara berkala menerbitkan jumlah aktivasi total mereka ke semua server lain. Direktur penempatan kemudian memilih server yang diprediksi memiliki aktivasi terkecil dengan memeriksa jumlah aktivasi yang terakhir dilaporkan dan prediksi pembuatan jumlah aktivasi saat ini berdasarkan jumlah aktivasi terbaru yang dibuat oleh direktur penempatan di server saat ini. Direktur memilih sejumlah server secara acak saat membuat prediksi ini, dalam upaya untuk menghindari beberapa server terpisah yang membebani server yang sama. Secara default, dua server dipilih secara acak, tetapi nilai ini dapat dikonfigurasi melalui Orleans.Runtime.ActivationCountBasedPlacementOptions.
Algoritma ini didasarkan pada tesis The Power of Two Choices in Randomized Load Balancing oleh Michael David Mitzenmacher https://www.eecs.harvard.edu/~michaelm/postscripts/mythesis.pdf, dan juga digunakan dalam NGINX untuk penyeimbangan beban terdistribusi, seperti yang dijelaskan dalam artikel NGINX dan "Power of Two Choices" Load-Balancing Algoritma https://www.nginx.com/blog/nginx-power-of-two-choices-load-balancing-algorithm/.
Strategi penempatan ini dikonfigurasi dengan menambahkan atribut ke ActivationCountBasedPlacementAttribute grain.

Konstruktor

Nama Deskripsi
ActivationCountBasedPlacement()

Strategi penempatan yang mencoba mencapai beban yang kira-kira merata berdasarkan jumlah biji-bijian yang baru-baru ini aktif di setiap server.

Properti

Nama Deskripsi
IsUsingGrainDirectory

Mendapatkan nilai yang menunjukkan apakah strategi penempatan ini memerlukan aktivasi untuk didaftarkan dalam direktori biji-bijian atau tidak.

(Diperoleh dari PlacementStrategy)

Metode

Nama Deskripsi
Initialize(GrainProperties)

Menginisialisasi instans jenis ini menggunakan properti butir yang disediakan.

(Diperoleh dari PlacementStrategy)
PopulateGrainProperties(IServiceProvider, Type, GrainType, Dictionary<String,String>)

Mengisi properti grain untuk menentukan strategi penempatan yang disukai.

(Diperoleh dari PlacementStrategy)

Berlaku untuk