Bagikan melalui


Aplikasi Orleans

Aplikasi Orleans yang khas terdiri dari kluster proses server (silo) tempat biji-bijian hidup, dan serangkaian proses klien, biasanya server web, yang menerima permintaan eksternal, mengubahnya menjadi panggilan metode biji-bijian dan mengembalikan hasil. Oleh karena itu, hal pertama yang perlu dilakukan untuk menjalankan aplikasi Orleans adalah memulai kluster silo. Untuk tujuan pengujian, kluster dapat terdiri dari satu silo. Untuk penyebaran produksi yang andal, kami menginginkan lebih dari satu silo dalam kluster untuk toleransi dan skala kesalahan.

Setelah kluster berjalan, kita dapat memulai satu atau beberapa proses klien yang terhubung ke kluster dan dapat mengirim permintaan ke biji-bijian. Klien terhubung ke titik akhir TCP khusus pada silo - gateway. Secara default, setiap silo dalam kluster mengaktifkan gateway klien. Jadi klien dapat terhubung ke semua silo secara paralel untuk performa dan ketahanan yang lebih baik.

Mengonfigurasi dan memulai silo

Silo dikonfigurasi secara terprogram melalui ClusterConfiguration objek . Ini dapat diinstansiasi dan diisi secara langsung, memuat pengaturan dari file, atau dibuat dengan beberapa metode pembantu yang tersedia untuk lingkungan penyebaran yang berbeda. Untuk pengujian lokal, cara termampu untuk pergi adalah menggunakan LocalhostPrimarySilo metode pembantu. Objek konfigurasi kemudian diteruskan ke instans SiloHost kelas baru, yang dapat diinisialisasi dan dimulai setelah itu.

Anda dapat membuat proyek aplikasi konsol kosong yang menargetkan .NET Framework 4.6.1 atau lebih tinggi untuk menghosting silo. Microsoft.Orleans.Server Tambahkan paket meta NuGet ke proyek.

Install-Package Microsoft.Orleans.Server

Berikut adalah contoh bagaimana silo lokal dapat dimulai:

var siloConfig = ClusterConfiguration.LocalhostPrimarySilo();
var silo = new SiloHost("Test Silo", siloConfig);
silo.InitializeOrleansSilo();
silo.StartOrleansSilo();

Console.WriteLine("Press Enter to close.");
// wait here
Console.ReadLine();

// shut the silo down after we are done.
silo.ShutdownOrleansSilo();

Mengonfigurasi dan menyambungkan ke klien

Klien untuk menyambungkan ke kluster silo dan mengirim permintaan ke biji-bijian dikonfigurasi secara terprogram melalui ClientConfiguration objek dan ClientBuilder. ClientConfiguration objek dapat diinstansiasi dan diisi secara langsung, memuat pengaturan dari file, atau dibuat dengan beberapa metode pembantu yang tersedia untuk lingkungan penyebaran yang berbeda. Untuk pengujian lokal, cara termampu untuk pergi adalah menggunakan LocalhostSilo metode pembantu. Objek konfigurasi kemudian diteruskan ke instans ClientBuilder kelas baru.

ClientBuilder mengekspos lebih banyak metode untuk mengonfigurasi fitur klien tambahan. ClientBuilder.Build() Setelah metode objek tersebut dipanggil ClientBuilder untuk mendapatkan implementasi IClusterClient antarmuka. Terakhir, kita memanggil IClusterClient.Connect() metode pada objek yang dikembalikan untuk terhubung ke kluster.

Anda dapat membuat proyek aplikasi konsol kosong yang menargetkan .NET Framework 4.6.1 atau yang lebih tinggi untuk menjalankan klien atau menggunakan kembali proyek aplikasi konsol yang Anda buat untuk menghosting silo. Microsoft.Orleans.Client Tambahkan paket meta NuGet ke proyek.

Install-Package Microsoft.Orleans.Client

Berikut adalah contoh bagaimana klien dapat terhubung ke silo lokal:

var config = ClientConfiguration.LocalhostSilo();
var builder = new ClientBuilder().UseConfiguration(config).
var client = builder.Build();
await client.Connect();

Konfigurasi produksi

Contoh konfigurasi yang kami gunakan di sini adalah untuk menguji silo dan klien yang berjalan pada komputer yang sama dengan localhost. Dalam produksi, silo dan klien biasanya berjalan di server yang berbeda dan dikonfigurasi dengan salah satu opsi konfigurasi kluster yang andal. Anda dapat menemukan lebih lanjut tentang itu di panduan Konfigurasi dan dalam deskripsi manajemen Kluster.

Langkah berikutnya