Hızlı başlangıç: Service Fabric'e bir .NET güvenilir hizmetler uygulaması dağıtma

Azure Service Fabric; ölçeklenebilir ve güvenilir mikro hizmetleri ve kapsayıcıları dağıtmayı ve yönetmeyi sağlayan bir dağıtılmış sistemler platformudur.

Bu hızlı başlangıçta ilk .NET uygulamanızın Service Fabric'e nasıl dağıtılacağı gösterilir. Bitirdiğinizde, oylama sonuçlarını kümedeki durum bilgisi içeren arka uç hizmetine kaydeden bir ASP.NET Core web ön ucuna sahip oylama uygulaması sağlanır.

Uygulama Ekran Görüntüsü

Bu uygulamayı kullanarak şunları yapmayı öğrenirsiniz:

  • .NET ve Service Fabric kullanarak uygulama oluşturma
  • Web ön ucu olarak ASP.NET çekirdeği kullanma
  • Uygulama verilerini durum bilgisi içeren bir hizmette depolama
  • Uygulamanızda yerel olarak hata ayıklama
  • Uygulamanın ölçeğini birden çok düğüm arasında genişletme
  • Toplu uygulama yükseltmesi yapma

Önkoşullar

Bu hızlı başlangıcı tamamlamak için:

  1. Azure geliştirme, ASP.NET ve web geliştirme iş yükleriyle Visual Studio 2019'u yükleyin.

  2. Git'i yükleyin

  3. Microsoft Azure Service Fabric SDK'sını yükleyin

  4. Visual Studio'nun yerel Service Fabric kümesine dağıtım yapmasını sağlamak için aşağıdaki komutu çalıştırın:

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Scope CurrentUser
    

Küme oluşturma

Çalışma zamanını, SDK'ları, Visual Studio araçlarını, Docker'ı yükledikten ve Docker'ı çalıştırdıktan sonra beş düğümlü bir yerel geliştirme kümesi oluşturun.

Not

Kümeyi oluştururken Docker'ın çalışmasının nedeni, kümenin kapsayıcı özellikleri etkin olarak oluşturulmasıdır. Docker çalışmıyorsa, kapsayıcı özelliklerini etkinleştirmek için kümeyi yeniden oluşturmanız gerekir. Bu hızlı başlangıç için gereksiz olsa da, kümeyi oluştururken Docker'ın çalıştırılmasına yönelik yönerge en iyi yöntem olarak eklenmiştir. Terminal penceresi açarak ve hata oluşup oluşmadığını görmek için docker ps komutunu çalıştırarak Docker'ı çalışmasını test edin. Yanıt bir hata göstermiyorsa, Docker çalışıyor ve siz de küme oluşturmaya hazırsınız demektir.

Kapsayıcılar için Windows 10 veya Windows Server ayarlama

  1. Yönetici olarak yeni, yükseltilmiş bir PowerShell penceresi açın.

  2. Aşağıdaki PowerShell komutunu çalıştırarak geliştirme kümesini oluşturun:

    . "C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\DevClusterSetup.ps1"
    
  3. Yerel küme yöneticisi aracını başlatmak için aşağıdaki komutu çalıştırın:

    . "C:\Program Files\Microsoft SDKs\Service Fabric\Tools\ServiceFabricLocalClusterManager\ServiceFabricLocalClusterManager.exe"
    

Not

Bu hızlı başlangıçtaki örnek uygulama, Windows 7'de mevcut olmayan özellikleri kullanır.

Örneği indirme

Komut penceresinde, örnek uygulama deposunu yerel makinenize kopyalamak için aşağıdaki komutu çalıştırın.

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart

Uygulamayı yerel olarak çalıştırma

Başlat Menüsünde Visual Studio'ya sağ tıklayın ve Yönetici olarak çalıştır'ı seçin. Hizmetlerinize hata ayıklayıcı eklemek için Visual Studio'yu yönetici olarak çalıştırmanız gerekir.

Kopyaladığınız depodan Voting.sln Visual Studio çözümünü açın.

Varsayılan olarak Voting uygulaması 8080 numaralı bağlantı noktasını dinler. Uygulama bağlantı noktası /VotingWeb/PackageRoot/ServiceManifest.xml dosyasında ayarlanır. Endpoint öğesinin Port özniteliğini güncelleştirerek uygulama bağlantı noktasını değiştirebilirsiniz. Uygulamayı yerel olarak dağıtmak ve çalıştırmak için, uygulama bağlantı noktasının bilgisayarınızda açık ve kullanılabilir olması gerekir. Uygulama bağlantı noktasını değiştirirseniz, bu makalenin tamamında "8080" için yeni uygulama bağlantı noktası değerini değiştirin.

Uygulamayı dağıtmak için F5 tuşuna basın.

Not

Visual Studio çıkış penceresinde "Uygulama URL'si ayarlanmadı veya HTTP/HTTPS URL'si değil, bu nedenle tarayıcı uygulamaya açılmayacak" iletisini görürsünüz. Bu ileti bir hatayı göstermez, ancak tarayıcının otomatik olarak başlatılmayacağını belirtir.

Dağıtım tamamlandığında, bir tarayıcı başlatın ve uygulamanın web ön ucunu görüntülemek için açın http://localhost:8080 .

Uygulama ön ucu

Şimdi bir dizi oylama seçeneği ekleyebilir ve oyları almaya başlayabilirsiniz. Uygulama çalıştırılır ve ayrı bir veritabanına gerek kalmadan tüm verileri Service Fabric kümenizde depolar.

Oylama örnek uygulamasında izlenecek yol

Oylama uygulaması iki hizmetten oluşur:

  • Web ön uç hizmeti (VotingWeb)- Web sayfasına hizmet veren ve arka uç hizmetiyle iletişim için web API'lerini kullanıma sunan bir ASP.NET Core web ön uç hizmeti.
  • Arka uç hizmeti (VotingData)- Oy sonuçlarını diskte kalıcı olan güvenilir bir sözlükte depolamak için API'yi kullanıma sunan bir ASP.NET Core web hizmeti.

Uygulama Diyagramı

Uygulamada oy kullandığınızda aşağıdaki olaylar gerçekleşir:

  1. Oy isteğini bir JavaScript HTTP PUT isteği olarak web ön uç hizmetindeki web API'sine gönderir.

  2. Web ön uç hizmeti bir ara sunucu kullanarak HTTP PUT isteğini bulur ve arka uç hizmetine iletir.

  3. Arka uç hizmeti gelen isteği alır ve güncelleştirilmiş sonucu güvenilir bir sözlükte depolar. Bu sözlük küme içinde birden çok düğüme çoğaltılır ve diskte kalıcı olur. Uygulamanın tüm verileri kümede depolandığından, veritabanına gerek yoktur.

Visual Studio'da hata ayıklama

Uygulama düzgün şekilde çalışmalıdır, ancak uygulamanın temel parçalarının nasıl çalıştığını görmek için hata ayıklayıcıyı kullanabilirsiniz. Visual Studio'da uygulamada hata ayıklarken yerel bir Service Fabric geliştirme kümesi kullanıyorsunuz. Hata ayıklama deneyiminizi senaryonuza göre ayarlayabilirsiniz. Bu uygulamada, verileri güvenilir bir sözlük kullanılarak arka uç hizmetinde depolanır. Hata ayıklayıcıyı durdurduğunuzda Visual Studio varsayılan olarak uygulamayı kaldırır. Uygulamanın kaldırılması arka uç hizmetindeki verilerin de kaldırılmasına neden olur. Hata ayıklama oturumları arasında verileri kalıcı hale getirmek için Oylama projesi Özellikleri'ni açın ve Uygulama Hata Ayıklama Modu'nuOtomatik Yükseltme olarak değiştirin.

Kodda neler olduğuna bakmak için aşağıdaki adımları tamamlayın:

  1. /VotingWeb/Controllers/VotesController.cs dosyasını açın ve web API'sinin Put yönteminde (69. satır) bir kesme noktası ayarlayın. Dosyayı Visual Studio'daki Çözüm Gezgini'nde arayıp bulabilirsiniz.

  2. /VotingData/Controllers/VoteDataController.cs dosyasını açın ve bu web API'sinin Put yönteminde (54. satır) bir kesme noktası ayarlayın.

  3. Tarayıcıya dönün ve bir oylama seçeneğine tıklayın veya yeni oylama seçeneği ekleyin. Web ön ucunun api denetleyicisinde ilk kesme noktasına ulaşırsınız.

    • Bu adım, tarayıcıdaki JavaScript'in ön uç hizmetindeki web API denetleyicisine istek gönderdiği yerdir.

      Oy Ön Uç Hizmeti Ekleme

    • İlk olarak, arka uç hizmetimiz için ReverseProxy'nin URL'sini oluşturun (1).

    • Ardından, HTTP PUT İsteğini ReverseProxy'ye gönderin (2).

    • Son olarak, yanıtı arka uç hizmetinden istemciye döndürün (3).

  4. Devam etmek için F5 tuşuna basın

    • Tarayıcı tarafından sorulursa, ServiceFabricAllowedUsers grubuna Hata Ayıklama Modu için okuma ve yürütme izinleri verin.

    • Artık arka uç hizmetinin kesme noktasındasınız.

      Oy Arka Uç Hizmeti Ekleme

    • Yöntemin ilk satırında (1), StateManagercounts adlı güvenilir bir sözlük alır veya ekler.

    • Güvenilir bir sözcükteki değerlerle tüm etkileşimler bir işlem gerektirir; bu using deyimi (2) o işlemi oluşturur.

    • İşlemde, oylama seçeneği için uygun anahtarın değerini güncelleştirin ve işlemi yürütün (3). Commit yöntemi döndüğünde, sözlükteki veriler güncelleştirilir ve kümedeki diğer düğümlere çoğaltılır. Artık veriler güvenli bir şekilde kümede depolanır ve arka uç hizmeti verilerin kullanılabilir olduğu diğer düğümlere yük devretebilir.

  5. Devam etmek için F5 tuşuna basın

Hata ayıklama oturumunu durdurmak için Shift+F5 tuşlarına basın.

Toplu uygulama yükseltmesi yapma

Uygulamanıza yeni güncelleştirmeleri dağıtırken, Service Fabric güncelleştirmeyi güvenli bir yolla dağıtır. Sıralı yükseltmeler, yükseltme yaparken sistemi kapatma gereğini ortadan kaldırır ve hata olması durumunda otomatik geri almaya olanak tanır.

Uygulamayı yükseltmek için aşağıdakileri yapın:

  1. Visual Studio'da /VotingWeb/Views/Home/Index.cshtml dosyasını açın.

  2. Metin ekleyerek veya var olan metni güncelleştirerek sayfadaki başlığı değiştirin. Örneğin, başlığı "Service Fabric Oylama Örneği v2" olarak değiştirin.

  3. Dosyayı kaydedin.

  4. Çözüm Gezgini'nde Oylama’ya sağ tıklayın ve Yayımla’yı seçin. Yayımla iletişim kutusu görüntülenir.

  5. Hizmetin ve uygulamanın sürümünü değiştirmek için Bildirim Sürümü düğmesine tıklayın.

  6. VotingWebPkg'nin altındaki Code öğesinin sürümünü örneğin "2.0.0" olarak değiştirin ve Kaydet'e tıklayın.

    Sürümü Değiştir İletişim Kutusu

  7. Service Fabric Uygulamasını Yayımla iletişim kutusunda Uygulamayı Yükselt onay kutusunu işaretleyin.

  8. Hedef profiliPublishProfiles\Local.5Node.xml olarak değiştirin ve Bağlantı Uç NoktasınınYerel Küme olarak ayarlandığından emin olun.

  9. Uygulamayı Yükselt'i seçin.

    Yayımla İletişim Kutusu Yükseltme Ayarı

  10. Yayımla’ya tıklayın.

    Yükseltme çalışırken, uygulamayı kullanmaya devam edebilirsiniz. Kümede hizmetin iki örneği çalıştığından, isteklerinizden bazıları uygulamanın yükseltilmiş sürümünü alırken, diğerleri eski sürümü almaya devam edebilir.

  11. Tarayıcınızı açın ve 19080 numaralı bağlantı noktasındaki küme adresine göz atın. Örneğin, http://localhost:19080/.

  12. Ağaç görünümünde Uygulamalar düğümüne tıklayın ve ardından sağ bölmede Devam Eden Yükseltmeler'e tıklayın. Güncelleştirmenin kümenizdeki yükseltme etki alanlarında nasıl ilerlediğini görür, bir sonrakine geçmeden önce her etki alanının iyi durumda olduğundan emin olursunuz. Durumu doğrulanan yükseltme etki alanı, ilerleme çubuğunda yeşil gösterilir. Service Fabric Explorer'da Yükseltme Görünümü

    Service Fabric, kümedeki bir düğümde hizmeti yükselttikten sonra iki dakika bekleyerek yükseltmelerin güvenle yapılmasını sağlar. Tüm güncelleştirmenin yaklaşık sekiz dakika sürmesini bekleyebilirsiniz.

Sonraki adımlar

Bu hızlı başlangıçta şunları öğrendiniz:

  • .NET ve Service Fabric kullanarak uygulama oluşturma
  • web ön ucu olarak ASP.NET çekirdeği kullanma
  • Uygulama verilerini durum bilgisi içeren bir hizmette depolama
  • Uygulamanızda yerel olarak hata ayıklama
  • Uygulamanın ölçeğini birden çok düğüm arasında genişletme
  • Toplu uygulama yükseltmesi yapma

Service Fabric ve .NET hakkında daha fazla bilgi edinmek için şu öğreticiyi gözden geçirin: