ActivationCountBasedPlacement Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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) |