Ölçeklendirilebilir sipariş işleme

Azure Cosmos DB
Azure HDInsight

Bu örnek senaryo, çevrimiçi sipariş işleme için yüksek oranda ölçeklenebilir ve dayanıklı bir mimariye ihtiyaç duyan kuruluşlarla ilgilidir. Potansiyel uygulamalar arasında e-ticaret ve perakende satış noktası, sipariş karşılama ve stok rezervasyonu ve izleme yer alır.

Mimari

Ölçeklenebilir bir sipariş işleme işlem hattı için örnek mimari diyagramı.

Bu mimarinin Visio dosyasını indirin.

Veri akışı

Bu mimari, bir sipariş işleme işlem hattının temel bileşenlerini ayrıntılarıyla açıklar. Veriler senaryo boyunca aşağıdaki gibi akar:

  1. Olay iletileri, müşteriye yönelik uygulamalar (HTTP üzerinden zaman uyumlu olarak) ve çeşitli arka uç sistemleri (Apache Kafka aracılığıyla zaman uyumsuz olarak) aracılığıyla sisteme girer. Bu iletiler bir komut işleme işlem hattına geçirilir.
  2. Her olay iletisi, bir komut işlemcisi mikro hizmeti tarafından tanımlanmış bir komut kümesine alınıp eşlenir. Komut işlemcisi, bir olay akışı anlık görüntü veritabanından komutu yürütmekle ilgili tüm geçerli durumları alır. Komut daha sonra yürütülür ve komutun çıkışı yeni bir olay olarak gönderilir.
  3. Bir komutun çıktısı olarak yayılan her olay, Azure Cosmos DB kullanılarak bir olay akışı veritabanına işlenir.
  4. Olay akışı veritabanına işlenen her veritabanı ekleme veya güncelleştirme için Azure Cosmos DB değişiklik akışı tarafından bir olay oluşturulur. Aşağı akış sistemleri, bu sistemle ilgili tüm olay konularına abone olabilir.
  5. Azure Cosmos DB değişiklik akışındaki tüm olaylar, oluşan olayların neden olduğu durum değişikliklerini hesaplayan bir anlık görüntü olay akışı mikro hizmete de gönderilir. Ardından yeni durum, Azure Cosmos DB'de depolanan olay akışı anlık görüntü veritabanına işlenir. Anlık görüntü veritabanı, tüm veri öğelerinin geçerli durumu için genel olarak dağıtılmış, düşük gecikme süreli bir veri kaynağı sağlar. Olay akışı veritabanı, sağlam test, sorun giderme ve olağanüstü durum kurtarma senaryolarına olanak tanıyan, mimariden geçen tüm olay iletilerinin tam bir kaydını sağlar.

Bileşenler

  • Azure Cosmos DB , Microsoft'un küresel olarak dağıtılmış, çok modelli veritabanıdır ve çözümlerinizin işleme hızını ve depolama alanını istediğiniz sayıda coğrafi bölgede esnek ve bağımsız olarak ölçeklendirmesini sağlar. Kapsamlı hizmet düzeyi sözleşmeleri (SLA) ile aktarım hızı, gecikme süresi, kullanılabilirlik ve tutarlılık garantileri sunar. Bu senaryoda olay akışı depolama ve anlık görüntü depolama için Azure Cosmos DB kullanılır ve veri tutarlılığı ve hata kurtarma sağlamak için Azure Cosmos DB Değişiklik Akışı özellikleri uygulanır.
  • Azure HDInsight üzerinde Apache Kafka, gerçek zamanlı akış veri işlem hatları ve uygulamaları oluşturmaya yönelik bir açık kaynak dağıtılmış akış platformu olan Apache Kafka'nın yönetilen hizmet uygulamasıdır. Kafka, adlandırılmış veri akışlarını yayımlamak ve bunlara abone olmak için ileti kuyruğuna benzer bir ileti aracısı işlevi de sağlar. Bu senaryo, sıralı işlem hattında gelen ve aşağı akış olaylarını işlemek için Kafka kullanır.

Senaryo ayrıntıları

Bu senaryo, mikro hizmetler aracılığıyla uygulanan işlevsel bir programlama modelini kullanarak olay kaynağını belirleme yaklaşımını benimser. Her mikro hizmet bir akış işlemcisi olarak kabul edilir ve tüm iş mantığı mikro hizmetler aracılığıyla uygulanır. Bu yaklaşım yüksek kullanılabilirlik ve dayanıklılık, coğrafi çoğaltma ve hızlı performans sağlar.

Azure Cosmos DB ve HDInsight gibi yönetilen Azure hizmetlerini kullanmak, Microsoft'un küresel olarak dağıtılmış bulut ölçeğindeki veri depolama ve alma konusundaki uzmanlığını kullanarak maliyetleri azaltmaya yardımcı olabilir. Bu senaryo özellikle e-ticaret veya perakende senaryolarını ele alır; Veri hizmetleri için başka gereksinimleriniz varsa Azure'da kullanılabilen tam olarak yönetilen akıllı veritabanı hizmetlerinin listesini gözden geçirmelisiniz.

Olası kullanım örnekleri

Diğer ilgili kullanım örnekleri şunlardır:

  • E-ticaret veya perakende satış noktası arka uç sistemleri.
  • Perakende veya üretim sektörleri için envanter yönetim sistemleri.
  • Sipariş karşılama sistemleri.
  • Sipariş işleme işlem hattıyla ilgili diğer tümleştirme senaryoları.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Gerçek zamanlı ileti alımı, veri depolama, akış işleme, analitik verilerin depolanması ve analiz ve raporlama için birçok teknoloji seçeneği mevcuttur.

Mikro hizmetler dayanıklı, yüksek oranda ölçeklenebilen, bağımsız bir şekilde dağıtılabilen ve hızla geliştirilebilen bulut uygulamaları oluşturmak için popüler bir mimari stil haline geldi. Mikro hizmetler için uygulama tasarlama ve oluşturma konusunda farklı bir yaklaşım gerekir. Mikro hizmet tabanlı mimari oluşturma ve çalıştırma yönergeleri için bkz . Azure'da mikro hizmetler tasarlama.

Kullanılabilirlik

Bu senaryonun olay kaynak oluşturma yaklaşımı, sistem bileşenlerinin birbirinden bağımsız olarak gevşek bir şekilde birbirine bağlanmasını ve dağıtılmasını sağlar. Azure Cosmos DB yüksek kullanılabilirlik sunar ve kuruluşun tutarlılık, kullanılabilirlik ve performansla ilişkili dengeleri ve bunların tümünü ilgili garantilerle yönetmesine yardımcı olur. HDInsight üzerinde Apache Kafka da yüksek kullanılabilirlik için tasarlanmıştır.

Azure İzleyici, çeşitli Azure hizmetlerinde izleme için birleşik kullanıcı arabirimleri sağlar. Daha fazla bilgi için bkz . Microsoft Azure'da izleme. Event Hubs ve Stream Analytics, Azure İzleyici ile tümleşiktir.

Kullanılabilirlik konusunda dikkat edilmesi gereken diğer noktalar için kullanılabilirlik denetim listesine bakın.

Ölçeklenebilirlik

HDInsight üzerinde Kafka, Kafka kümeleri için depolama ve ölçeklenebilirlik yapılandırmasına olanak tanır. Azure Cosmos DB hızlı, öngörülebilir performans sağlar ve uygulamanız büyüdükçe sorunsuz bir şekilde ölçeklendirilir. Bu senaryonun olay kaynağı mikro hizmetler tabanlı mimarisi, sisteminizi ölçeklendirmeyi ve işlevselliğini genişletmeyi de kolaylaştırır.

Ölçeklenebilirlik konusunda dikkat edilmesi gereken diğer noktalar için Bkz . Azure Mimari Merkezi'nde sağlanan performans verimliliği denetim listesi .

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

Azure Cosmos DB güvenlik modeli kullanıcıların kimliğini doğrular ve verilerine ve kaynaklarına erişim sağlar. Daha fazla bilgi için bkz . Azure Cosmos DB veritabanı güvenliği.

Güvenli çözümler tasarlama hakkında genel yönergeler için Bkz . Azure Güvenlik Belgeleri.

Dayanıklılık

Bu örnek senaryodaki olay kaynak mimarisi ve ilişkili teknolojiler, hatalar oluştuğunda bu senaryoyu yüksek oranda dayanıklı hale getirir. Dayanıklı çözümler tasarlama hakkında genel yönergeler için bkz . Azure için dayanıklı uygulamalar tasarlama.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

Bu senaryoyu çalıştırmanın maliyetini incelemek için tüm hizmetler maliyet hesaplayıcısında önceden yapılandırılmıştır. Fiyatlandırmanın belirli bir senaryonuz için nasıl değişeceğini görmek için, uygun değişkenleri beklenen veri hacminizle eşleşecek şekilde değiştirin. Bu senaryo için örnek fiyatlandırma yalnızca Azure Cosmos DB'yi ve Azure Cosmos DB değişiklik akışından tetiklenen olayları işlemek için bir Kafka kümesini içerir. Kaynak sistemler ve diğer aşağı akış sistemleri için olay işlemcileri ve mikro hizmetler dahil değildir ve maliyetleri bu hizmetlerin miktarına ve ölçeğine ve bunları uygulamak için seçilen teknolojilere son derece bağlıdır.

Azure Cosmos DB'nin para birimi istek birimidir (RU). İstek birimleriyle okuma/yazma kapasitelerini ayırmanız veya CPU, bellek ve IOPS sağlamanız gerekmez. Azure Cosmos DB, basit okuma ve yazma işlemlerinden karmaşık grafik sorgularına kadar farklı işlemleri olan çeşitli API'leri destekler. Tüm istekler eşit olmadığından isteklere, isteğe hizmet vermek için gereken hesaplama miktarına göre normalleştirilmiş bir istek birimi miktarı atanır. Çözümünüz için gereken istek birimi sayısı, veri öğesi boyutuna ve saniyedeki veritabanı okuma ve yazma işlemlerinin sayısına bağlıdır. Daha fazla bilgi için bkz . Azure Cosmos DB'de birim isteme. Bu tahmini fiyatlar iki Azure bölgesinde çalışan Azure Cosmos DB'ye dayanır.

Beklediğiniz etkinlik miktarına göre üç örnek maliyet profili sağladık:

  • Küçük: Bu fiyatlandırma örneği, Azure Cosmos DB'de 1 TB veri deposu ve küçük (D3 v2) Kafka kümesiyle ayrılmış 5 RU ile ilişkilidir.
  • Orta: Bu fiyatlandırma örneği, Azure Cosmos DB'de 10 TB veri deposu ve orta ölçekli (D4 v2) Kafka kümesiyle ayrılmış 50 RU ile ilişkilidir.
  • Büyük: Bu fiyatlandırma örneği, Azure Cosmos DB'de 30 TB veri deposu ve büyük bir (D5 v2) Kafka kümesiyle ayrılmış 500 RU ile ilişkilendirilmektedir.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazarlar:

Sonraki adımlar

Bu örnek senaryo, uçtan uca sipariş işleme işlem hattı için jet.com tarafından oluşturulan bu mimarinin daha kapsamlı bir sürümünü temel alır. Daha fazla bilgi için Derleme'deki jet.com teknik müşteri profiline ve jet.com sunumuna bakın.

Diğer içeriğe bakın:

İlgili mimari içeriğe bakın: