Mulai menggunakan Reliable Actor

Artikel ini menjelaskan pembuatan dan debugging aplikasi Reliable Actor sederhana di Visual Studio. Untuk informasi lebih lanjut tentang Reliable Actor, lihat Pengenalan Reliable Actor Service Fabric.

Prasyarat

Sebelum memulai, pastikan Anda memiliki lingkungan pengembangan Service Fabric, termasuk Visual Studio, yang disiapkan di komputer Anda. Untuk detailnya, lihat cara mengatur lingkungan pengembangan.

Membuat proyek baru di Visual Studio

Luncurkan Visual Studio 2019 atau yang lebih baru sebagai administrator, lalu buat proyek Aplikasi Service Fabric baru:

Alat Service Fabric untuk Visual Studio - proyek baru

Dalam kotak dialog berikutnya, pilih Layanan Actor di .NET Core 2.0 dan masukkan nama untuk layanan.

Templat proyek Service Fabric

Proyek yang dibuat menunjukkan struktur berikut:

Struktur proyek Service Fabric

Periksa solusinya

Solusinya berisi tiga proyek:

  • Proyek aplikasi (MyApplication) . Proyek ini mengemas semua layanan bersama-sama untuk penyebaran. Ini berisi skrip ApplicationManifest.xml dan PowerShell untuk mengelola aplikasi.

  • Proyek antarmuka (HelloWorld.Interfaces) . Proyek ini berisi definisi antarmuka untuk actor. Antarmuka actor dapat didefinisikan dalam proyek apa pun dengan nama apa pun. Antarmuka mendefinisikan kontrak actor yang dibagikan oleh implementasi actor dan klien yang memanggil actor. Karena proyek klien mungkin bergantung padanya, biasanya Anda dapat mendefinisikannya dalam perakitan yang terpisah dari implementasi actor.

  • Proyek layanan actor (HelloWorld) . Proyek ini mendefinisikan layanan Service Fabric yang akan meng-host bagi actor. Ini berisi implementasi actor, HelloWorld.cs. Implementasi actor adalah kelas yang berasal dari jenis dasar Actor dan mengimplementasikan antarmuka yang ditentukan dalam proyek MyActor.Interfaces. Kelas actor juga harus mengimplementasikan konstruktor yang menerima instans ActorService dan instans dan ActorId meneruskannya ke kelas Actor dasar.

    Proyek ini juga berisi Program.cs yang mendaftarkan kelas actor dengan runtime Service Fabric menggunakan ActorRuntime.RegisterActorAsync<T>(). Kelas HelloWorld sudah terdaftar. Setiap implementasi actor tambahan yang ditambahkan ke proyek juga harus didaftarkan dalam metode Main().

Sesuaikan actor HelloWorld

Templat proyek mendefinisikan beberapa metode dalam antarmuka IHelloWorld dan mengimplementasikannya dalam implementasi actor HelloWorld. Ganti metode tersebut sehingga layanan actor mengembalikan string "Halo Dunia" sederhana.

Dalam proyek HelloWorld.Interfaces, dalam file IHelloWorld.cs, ganti definisi antarmuka sebagai berikut:

public interface IHelloWorld : IActor
{
    Task<string> GetHelloWorldAsync();
}

Dalam proyek HelloWorld, di HelloWorld.cs, ganti seluruh definisi kelas sebagai berikut:

[StatePersistence(StatePersistence.Persisted)]
internal class HelloWorld : Actor, IHelloWorld
{
    public HelloWorld(ActorService actorService, ActorId actorId)
        : base(actorService, actorId)
    {
    }

    public Task<string> GetHelloWorldAsync()
    {
        return Task.FromResult("Hello from my reliable actor!");
    }
}

Tekan Ctrl-Shift-B untuk membangun proyek dan pastikan semuanya dikompilasi.

Menambahkan klien

Buat aplikasi konsol sederhana untuk memanggil layanan actor.

  1. Klik kanan pada solusi di Penjelajah Solusi >Tambahkan>Proyek Baru....

  2. Di jenis proyek .NET Core, pilih Console App (.NET Core) . Beri nama proyek ActorClient.

    Tambahkan dialog Proyek Baru

    Catatan

    Aplikasi konsol bukan jenis aplikasi yang biasanya Anda gunakan sebagai klien di Service Fabric, tetapi ini merupakan contoh yang mudah untuk debugging dan pengujian menggunakan kluster Service Fabric lokal.

  3. Aplikasi konsol harus berupa aplikasi 64-bit untuk mempertahankan kompatibilitas dengan proyek antarmuka dan dependensi lainnya. Di Penjelajah Solusi, klik kanan proyek ActorClient, lalu klik Properti. Pada tab Build, tetapkan target Platform ke x64.

    Membangun properti

  4. Proyek klien membutuhkan paket NuGet reliable actor. Klik Alat>NuGet Package Manager>Package Manager Console. Di Package Manager Console, masukkan perintah berikut:

    Install-Package Microsoft.ServiceFabric.Actors -IncludePrerelease -ProjectName ActorClient
    

    Paket NuGet dan semua dependensinya dipasang dalam proyek ActorClient.

  5. Proyek klien juga memerlukan referensi ke proyek antarmuka. Dalam proyek ActorClient, klik kanan Dependensi lalu klik Tambahkan Referensi Proyek.... Pilih Proyek > Solusi (jika belum dipilih), lalu centang kotak centang di samping HelloWorld.Interfaces. Klik OK.

    Dialog Tambahkan referensi

  6. Dalam proyek ActorClient, ganti seluruh isi Program.cs dengan kode berikut:

    using System;
    using System.Threading.Tasks;
    using Microsoft.ServiceFabric.Actors;
    using Microsoft.ServiceFabric.Actors.Client;
    using HelloWorld.Interfaces;
    
    namespace ActorClient
    {
        class Program
        {
            static void Main(string[] args)
            {
                IHelloWorld actor = ActorProxy.Create<IHelloWorld>(ActorId.CreateRandom(), new Uri("fabric:/MyApplication/HelloWorldActorService"));
                Task<string> retval = actor.GetHelloWorldAsync();
                Console.Write(retval.Result);
                Console.ReadLine();
            }
        }
    }
    

Menjalankan operasi dan debugging

Tekan F5 untuk membangun, menyebarkan, dan menjalankan aplikasi secara lokal di kluster pengembangan Service Fabric. Selama proses penyebaran, Anda dapat melihat kemajuan di jendela Output.

Jendela output debugging Service Fabric

Ketika output berisi teks, Aplikasi siap, pengujian layanan menggunakan aplikasi ActorClient dapat dilakukan. Di Penjelajah Solusi, klik kanan pada proyek ActorClient, lalu klik Debug>Mulai instans baru. Aplikasi baris perintah harus menampilkan output dari layanan actor.

Output aplikasi

Tip

Runtime Service Fabric Actors mengeluarkan beberapa peristiwa dan penghitung kinerja yang terkait dengan metode actor. Ini berguna dalam diagnostik dan pemantauan kinerja.

Langkah berikutnya

Pelajari selengkapnya tentang cara Reliable Actor menggunakan platform Service Fabric.