Aracılığıyla paylaş


.NET Mikro Hizmetleri: Kapsayıcılı .NET Uygulamaları için Mimari

Kitap kapağı

SÜRÜM v7.0 - ASP.NET Core 7.0'a güncelleştirildi

Kitap güncellemeleri ve topluluk katkıları için değişiklik günlüğü 'e bakın.

Bu kılavuz, mikro hizmet tabanlı uygulamalar geliştirmeye ve bunları kapsayıcılar kullanarak yönetmeye giriş niteliğindedir. .NET ve Docker kapsayıcılarını kullanarak mimari tasarım ve uygulama yaklaşımlarını ele alır.

Kullanmaya başlamayı kolaylaştırmak için kılavuz, keşfedebileceğiniz kapsayıcılaştırılmış ve mikroservis tabanlı bir örnek uygulamaya odaklanır. Başvuru uygulaması eShopOnContainers GitHub deposunda kullanılabilir.

Giriş

Kuruluşlar, kapsayıcıları kullanarak maliyet tasarrufunu, dağıtım sorunlarını çözmeyi ve DevOps ve üretim işlemlerini iyileştirmeyi giderek daha fazla fark etmektedir. Microsoft, Azure Kubernetes Service ve Azure Service Fabric gibi ürünler oluşturarak ve Docker, Mesosphere ve Kubernetes gibi sektör liderleriyle işbirliği yaparak Windows ve Linux için kapsayıcı yeniliklerini kullanıma sunmaktadır. Bu ürünler, şirketlerin platform veya araç tercihleri ne olursa olsun bulut hızı ve ölçeğinde uygulama oluşturmasına ve dağıtmasına yardımcı olan kapsayıcı çözümleri sunar.

Docker, Windows ve Linux ekosistemlerindeki en önemli satıcılar tarafından desteklenen kapsayıcı sektöründe de facto standardı haline geliyor. (Microsoft, Docker'ı destekleyen ana bulut satıcılarından biridir). Gelecekte Docker büyük olasılıkla buluttaki veya şirket içindeki herhangi bir veri merkezinde yaygın olarak kullanılacaktır.

Buna ek olarak , mikro hizmetler mimarisi dağıtılmış görev açısından kritik uygulamalar için önemli bir yaklaşım olarak ortaya çıkmektedir. Mikro hizmet tabanlı bir mimaride uygulama, bağımsız olarak geliştirilebilen, test edilebilen, dağıtılabilen ve sürüm oluşturulabilen bir hizmet koleksiyonu üzerine kurulmuştur.

Bu kılavuz hakkında

Bu kılavuz, mikro hizmet tabanlı uygulamalar geliştirmeye ve bunları kapsayıcılar kullanarak yönetmeye giriş niteliğindedir. .NET ve Docker kapsayıcılarını kullanarak mimari tasarım ve uygulama yaklaşımlarını ele alır. Kapsayıcıları ve mikro hizmetleri kullanmayı kolaylaştırmak amacıyla, kılavuz keşfedebileceğiniz kapsayıcılı ve mikro hizmet tabanlı bir referans uygulamaya odaklanmaktadır. Örnek uygulama eShopOnContainers GitHub deposunda kullanılabilir.

Bu kılavuz, temel geliştirme ve mimari rehberlik için öncelikle geliştirme ortamı düzeyinde iki teknolojiye odaklanmaktadır: Docker ve .NET. Amacımız, üretim ortamınızın altyapısına (bulut veya şirket içi) odaklanmadan uygulama tasarımınızı düşünürken bu kılavuzu okumanızdır. Daha sonra üretime hazır uygulamalarınızı oluştururken altyapınızla ilgili kararlar alırsınız. Bu nedenle, bu kılavuzun altyapıdan bağımsız ve geliştirme ortamı odaklı olması amaçlanmıştır.

Bu kılavuzu inceledikten sonra, sonraki adımınız Microsoft Azure'da üretime hazır mikro hizmetler hakkında bilgi edinmek olacaktır.

Sürüm

Bu kılavuz , .NET 7 sürümüyle aynı "dalga" teknolojilerle (yani Azure ve ek üçüncü taraf teknolojileri) ilgili birçok ek güncelleştirmenin yanı sıra .NET 7 sürümünü kapsayacak şekilde düzeltilmiştir.

Uyarı

.NET 8 ve yeni eShop örneği için bu eKitap'ın yeni bir sürümü oluşturuluyor.

Bu kılavuzun kapsamadığı şeyler

Bu kılavuz uygulama yaşam döngüsüne, DevOps'a, CI/CD işlem hatlarına veya ekip çalışmasına odaklanmaz. Microsoft Platform ve Araçları ile Kapsayıcılı Docker Uygulama Yaşam Döngüsü tamamlayıcı kılavuzu bu konuya odaklanır. Geçerli kılavuz, belirli düzenleyicilerle ilgili bilgiler gibi Azure altyapısıyla ilgili uygulama ayrıntılarını da sağlamaz.

Ek kaynaklar

Bu kılavuzu kimler kullanmalıdır?

Docker tabanlı uygulama geliştirme ve mikro hizmet tabanlı mimari konusunda yeni olan geliştiriciler ve çözüm mimarları için bu kılavuzu yazdık. Microsoft geliştirme teknolojileriyle (.NET'e özel odaklanarak) ve Docker kapsayıcılarıyla kavram kanıtı uygulamaları tasarlamayı, tasarlamayı ve uygulamayı öğrenmek istiyorsanız bu kılavuz size yöneliktir.

Yeni ve modern dağıtılmış uygulamalar için hangi yaklaşımı seçeceğinize karar vermeden önce mimariye ve teknolojiye genel bakış isteyen kurumsal mimar gibi teknik bir karar alıcıysanız da bu kılavuzu yararlı bulacaksınız.

Bu kılavuzu kullanma

Bu kılavuzun ilk bölümünde Docker kapsayıcıları tanıtılır, geliştirme çerçevesi olarak .NET 7 ile .NET Framework arasında nasıl seçim yapabileceğiniz açıklanır ve mikro hizmetlere genel bir bakış sağlanır. Bu içerik, genel bakış isteyen ancak kod uygulama ayrıntılarına odaklanması gerekmeyen mimarlara ve teknik karar alıcılara yöneliktir.

Kılavuzun ikinci bölümü Docker tabanlı uygulamalar için geliştirme süreci bölümüyle başlar. .NET ve Docker kullanarak uygulama gerçekleştirmeye yönelik geliştirme ve mikro hizmet desenlerine odaklanır. Bu bölüm, koda, desenlere ve uygulama ayrıntılarına odaklanmak isteyen geliştiriciler ve mimarlar tarafından en çok ilgi çekici olacaktır.

eShopOnContainers uygulaması, Docker kapsayıcıları kullanılarak dağıtılacak şekilde tasarlanmış .NET ve mikro hizmetlere yönelik bir açık kaynak başvuru uygulamasıdır. Uygulama, çeşitli e-mağaza kullanıcı arabirimi ön uçları (Web MVC uygulaması, Web SPA ve yerel mobil uygulama) dahil olmak üzere birden çok alt sistemden oluşur. Ayrıca tüm gerekli sunucu tarafı işlemleri için arka plan mikro servisleri ve kapsayıcıları içerir.

Uygulamanın amacı mimari desenleri göstermektir. GERÇEK dünya uygulamaları için PRODUCTION-READY BİR ŞABLON DEĞİL. Aslında uygulama, yeni ilgi çekici olabilecek teknolojileri ortaya çıktıklarında test etmek için de kullanıldığından kalıcı bir beta durumundadır.

Geri bildiriminizi gönderin

Bu kitap ve ilgili örnekler sürekli geliştiği için geri bildiriminiz memnuniyetle karşılanır. Bu kitabın nasıl geliştirilebileceği hakkında yorumlarınız varsa ve bu kitabı learn.microsoft.comüzerinde okuyorsanız, sayfanın en altındaki geri bildirim bölümünü kullanın:

Tüm .NET belgeleri makalelerin altbilgilerindeki Geri Bildirim bölümü .

Önceki ekran görüntüsünde vurgulandığı gibi, geri bildirim bölümü aşağıdakiler için geri bildirim göndermenizi sağlar:

  • Bu ürün: .NET ürün geri bildirim formunu kullanarak.
  • Bu sayfa: sayfanın ayrıntılarını içeren bir GitHub sorun şablonu kullanmaktadır.

Bu kitabı PDF olarak okuyorsanız, yeni bir .NET Belgeleri: GitHub sorunu oluşturarak veya .NET Mimarisi eKitapları: GitHub sorun şablonukullanarak geri bildirim gönderebilirsiniz.

Krediler

Ortak Yazarlar:

Cesar de la Torre, Sr. PM, .NET ürün ekibi, Microsoft Corp.

Bill Wagner, İçerik Geliştirici, C+E, Microsoft Corp.

Mike Rousos, Baş Yazılım Mühendisi, DevDiv CAT ekibi, Microsoft

Editörler:

Mike Pope

Steve Hoag

Katılımcılar ve gözden geçirenler:

Jeffrey Richter, Ortak Yazılım Mühendisi, Azure ekibi, Microsoft

Jimmy Bogard, Headspring Baş Mimarı

Udi Dahan, Kurucu & CEO, Özel Yazılım

Jimmy Nilsson, Factor10'un kurucu ortağı ve CEO'su

Glenn Condron, Program Yöneticisi, ASP.NET ekibi

Mark Fussell, Baş PM Lideri, Azure Service Fabric ekibi, Microsoft

Diego Vega, PM Lideri, Entity Framework ekibi, Microsoft

Barry Dorrans, Güvenlik Programı Yöneticisi

Rowan Miller, Program Yöneticisi, Microsoft

Ankit Asthana, Pm Müdürü, .NET ekibi, Microsoft

Scott Hunter, Partner Yönetici PM, .NET ekibi, Microsoft

Nish Anil, Program Yöneticisi, .NET ekibi, Microsoft

Dylan Reisenberger, Polly'de Mimar ve Geliştirici Lideri

Steve "ardalis" Smith - Yazılım Mimarı ve Eğitmeni - Ardalis.com

Ian Cooper, Brighter'da Kodlama Mimarı

Unai Zorrilla, Düz Kavramlar'da Mimar ve Geliştirici Lideri

Eduard Tomas, Düz Kavramlarda Geliştirme Lideri

Ramon Tomas, Plain Concepts Geliştiricisi

David Sanz, Plain Concepts Geliştiricisi

Javier Valero, Grupo Solutio'da Operasyon Direktörü

Pierre Millet, Danışman, Microsoft

Michael Friis, Ürün Yöneticisi, Docker Inc

Charles Lowell, Yazılım Mühendisi, VS CAT ekibi, Microsoft

Miguel Veloso, Düz Kavramlar'da Yazılım Geliştirme Mühendisi

Sumit Ghosh, Neudesic Baş Danışmanı

YAYIMLAYAN

Microsoft Developer Division, .NET ve Visual Studio ürün ekipleri

Microsoft Corporation'ın bir bölümü

One Microsoft Way

Redmond, Washington 98052-6399

Telif Hakkı © 2023 Microsoft Corporation tarafından

Tüm hakları saklıdır. Bu kitabın içeriğinin hiçbir bölümü, yayıncının yazılı izni olmadan herhangi bir biçimde veya herhangi bir yolla çoğaltılamaz veya iletilmez.

Bu kitap "as-is" olarak sağlanır ve yazarın görüşlerini ve fikirlerini ifade eder. URL ve diğer internet web sitesi başvuruları da dahil olmak üzere bu kitapta ifade edilen görüşler, düşünceler ve bilgiler haber verilmeksizin değiştirilebilir.

Burada gösterilen bazı örnekler yalnızca çizim için verilmiştir ve kurgusaldır. Gerçek bir ilişkilendirme veya bağlantı amaçlanmamıştır veya çıkarılmamalıdır.

Microsoft ve "Ticari Markalar" web sayfasındaki https://www.microsoft.com listelenen ticari markalar, Microsoft şirketler grubunun ticari markalarıdır.

Mac ve macOS, Apple Inc.'in ticari markalarıdır.

Docker balina logosu, izinle kullanılan Docker, Inc.'in tescilli ticari markasıdır.

Diğer tüm işaretler ve logolar ilgili sahiplerinin mülkiyetidir.