İleti kuyrukları ve olayları kullanarak azure'da Kurumsal tümleştirmeEnterprise integration on Azure using message queues and events

Bu başvuru mimarisi, hizmetleri daha fazla ölçeklenebilirlik ve güvenilirlik için ayrıştırmak için ileti kuyrukları ve olayları'nı kullanarak kurumsal arka uç sistemlerine tümleştirir.This reference architecture integrates enterprise backend systems, using message queues and events to decouple services for greater scalability and reliability. Kuruluşunuzdaki mevcut web hizmetleri ve arka uç sistemleri, hizmet (SaaS) sistemler, Azure Hizmetleri, yazılım bulunabilir.The backend systems may include software as a service (SaaS) systems, Azure services, and existing web services in your enterprise.

Başvuru mimarisi için sıralar ve olaylar ile Kurumsal tümleştirme

MimariArchitecture

Burada gösterilen mimari gösterilir daha basit bir mimari geliştirir temel Kurumsal tümleştirme.The architecture shown here builds on a simpler architecture that is shown in Basic enterprise integration. Bu mimaride [Logic Apps] logic-apps iş akışları için ve [API Management] apim katalogları API'leri oluşturmak için.That architecture uses Logic Apps to orchestrate workflows and API Management to create catalogs of APIs.

Bu mimari sürümü, sistem daha güvenilir ve ölçeklenebilir hale gelmesine yardımcı olan iki bileşene ekler:This version of the architecture adds two components that help make the system more reliable and scalable:

İleti Aracısı'nı kullanarak zaman uyumsuz iletişim arka uç hizmetlerine doğrudan, zaman uyumlu çağrı yapmaya avantajları sunar:Asynchronous communication using a message broker provides a number of advantages over making direct, synchronous calls to backend services:

  • Artışları kullanarak iş yüklerini işlemek için Yük Dengeleme sağlar kuyruk tabanlı yük düzeyi eşitleme düzeni.Provides load-leveling to handle bursts in workloads, using the Queue-Based Load Leveling pattern.
  • Güvenilir bir şekilde birden çok adım veya birden çok uygulama içeren bir uzun süre çalışan iş akışları ilerlemesini izler.Reliably tracks the progress of long-running workflows that involve multiple steps or multiple applications.
  • Uygulamaları ayırmanıza yardımcı olur.Helps to decouple applications.
  • İleti tabanlı mevcut sistemlerle entegre olur.Integrates with existing message-based systems.
  • Arka uç sistemi olmadığında kuyruğa alınacak iş sağlar.Allows work to be queued when a backend system is not available.

Event Grid, yoklama veya Zamanlanmış görevlerde güvenmek yerine gelişmelerden olaylarına tepki vermek için sistem çeşitli bileşenleri sağlar.Event Grid enables the various components in the system to react to events as they happen, rather than relying on polling or scheduled tasks. Bir ileti kuyruğu olduğu gibi uygulamalar ve hizmetler ayırmanıza yardımcı olur.As with a message queue, it helps decouple applications and services. Bir uygulama veya hizmet olayları yayımlayabilir ve isteyen tüm abonelerine bildirim gönderilir.An application or service can publish events, and any interested subscribers will be notified. Yeni aboneler, gönderen güncelleştirmeden eklenebilir.New subscribers can be added without updating the sender.

Çoğu Azure hizmeti gönderen olayları Event Grid'e destekler.Many Azure services support sending events to Event Grid. Örneğin, bir blob deposuna yeni dosyalar eklendiğinde bir olay için bir mantıksal uygulama dinleyebilirsiniz.For example, a logic app can listen for an event when new files are added to a blob store. Bu düzen bir dizi işlemleri devre dışı bir dosyayı yüklemek veya bir kuyruğa ileti koyma burada devreye reaktif iş akışları sağlar.This pattern enables reactive workflows, where uploading a file or putting a message on a queue kicks off a series of processes. İşlemler paralel veya belirli bir sırayla yürütülen.The processes might be executed in parallel or in a specific sequence.

ÖnerilerRecommendations

Öneriler bölümünde açıklanan [temel Kurumsal tümleştirme] basic-enterprise-integration bu mimari için geçerlidir.The recommendations described in Basic enterprise integration apply to this architecture. Aşağıdaki öneriler için de geçerlidir:The following recommendations also apply:

Service BusService Bus

Service Bus sahip iki teslim modlarında çekme veya anında iletme.Service Bus has two delivery modes, pull or push. Çekme modeli, alıcı sürekli olarak yeni iletileri yoklar.In the pull model, the receiver continuously polls for new messages. Yoklama, özellikle çok sayıda kuyruklar her birkaç ileti alma varsa veya orada çok zaman arasında iletileri verimsiz olabilir.Polling can be inefficient, especially if you have many queues that each receive a few messages, or if there a lot of time between messages. Yeni ileti olduğunda anında iletme modelinde, Service Bus Event Grid aracılığıyla bir olay gönderir.In the push model, Service Bus sends an event through Event Grid when there are new messages. Alıcı, olaya abone olur.The receiver subscribes to the event. Olay tetiklendiğinde, alıcı, sonraki ileti grubu Service Bus'tan çeker.When the event is triggered, the receiver pulls the next batch of messages from Service Bus.

Service Bus iletileri kullanmak için bir mantıksal uygulama oluşturduğunuzda, Event Grid Tümleştirmesi ile gönderme modeli kullanmanızı öneririz.When you create a logic app to consume Service Bus messages, we recommend using the push model with Event Grid integration. Mantıksal uygulama Service Bus yoklaması gerekmez çünkü genellikle verimli, daha uygun maliyetli olur.It's often more cost efficient, because the logic app doesn't need to poll Service Bus. Daha fazla bilgi için Azure Service Bus-Event Grid tümleştirmesine genel bakış.For more information, see Azure Service Bus to Event Grid integration overview. Şu anda, Service Bus Premium katmanı Event Grid bildirimleri için gereklidir.Currently, Service Bus Premium tier is required for Event Grid notifications.

Kullanım PeekLock iletiler grubunu erişmek için.Use PeekLock for accessing a group of messages. Mantıksal uygulama, PeekLock kullandığınızda her iletiyi tamamlamak ya da ileti durdurmadan önce doğrulamak için adımları gerçekleştirebilirsiniz.When you use PeekLock, the logic app can perform steps to validate each message before completing or abandoning the message. Bu yaklaşım, yanlışlıkla ileti kaybına karşı korur.This approach protects against accidental message loss.

Event GridEvent Grid

Ne zaman bir Event Grid tetikleyici geldiğini en az bir olayın gerçekleştiği.When an Event Grid trigger fires, it means at least one event happened. Mantıksal uygulama bir Service Bus iletisi için bir Event Grid Tetikleyicileri alır, örneğin, birkaç iletileri işlemek için uygun olabilir varsaymanız gerekir.For example, when a logic app gets an Event Grid triggers for a Service Bus message, it should assume that several messages might be available to process.

Event Grid, sunucusuz bir model kullanır.Event Grid uses a serverless model. Faturalandırma işlemleri (olay yürütme) sayısına göre hesaplanır.Billing is calculated based on the number of operations (event executions). Daha fazla bilgi için Event Grid fiyatlandırma.For more information, see Event Grid pricing. Şu anda Event Grid için hiçbir katman hakkında önemli noktalar vardır.Currently, there are no tier considerations for Event Grid.

Ölçeklenebilirlik konusunda dikkat edilmesi gerekenlerScalability considerations

Service Bus Premium katman, daha yüksek ölçeklenebilirlik elde etmek için Mesajlaşma birimi sayısının ölçeğini ölçeklendirebilirsiniz.To achieve higher scalability, the Service Bus Premium tier can scale out the number of messaging units. Premium katmanı yapılandırmaları bir, iki veya dört Mesajlaşma birimine sahip olabilir.Premium tier configurations can have one, two, or four messaging units. Service Bus'ı ölçeklendirme hakkında daha fazla bilgi için bkz. Service Bus Mesajlaşması kullanarak en iyi uygulamalar için performans iyileştirmeleri.For more information about scaling Service Bus, see Best practices for performance improvements by using Service Bus Messaging.

Kullanılabilirlik konusunda dikkat edilmesi gerekenlerAvailability considerations

Her hizmet için SLA'yı gözden geçirin:Review the SLA for each service:

Önemli bir kesinti oluşursa yük devretmeyi etkinleştirmek için Service Bus Premium coğrafi olağanüstü durum kurtarma uygulama göz önünde bulundurun.To enable failover if a serious outage occurs, consider implementing geo-disaster recovery in Service Bus Premium. Daha fazla bilgi için Azure Service Bus coğrafi olağanüstü durum kurtarma.For more information, see Azure Service Bus geo-disaster recovery.

Güvenlikle ilgili dikkat edilmesi gerekenlerSecurity considerations

Service Bus güvenliğini sağlamak için paylaşılan erişim imzası (SAS) kullanın.To secure Service Bus, use shared access signature (SAS). Kullanarak hizmet veri yolu kaynaklarını belirli haklarına sahip bir kullanıcı erişimi verebilir SAS kimlik doğrulaması.You can grant a user access to Service Bus resources with specific rights by using SAS authentication. Daha fazla bilgi için Service Bus kimlik doğrulama ve yetkilendirme.For more information, see Service Bus authentication and authorization.

Service Bus kuyruğuna bir HTTP uç noktası olarak kullanıma sunmak ihtiyacınız varsa, örneğin, yeni ileti göndermek için API Management sıra uç nokta cephesinde tarafından güvenli hale getirmek için kullanın.If you need to expose a Service Bus queue as an HTTP endpoint, for example, to post new messages, use API Management to secure the queue by fronting the endpoint. Ardından, sertifikalar veya uygun şekilde OAuth kimlik doğrulaması ile uç nokta güvenliğini sağlayabilirsiniz.You can then secure the endpoint with certificates or OAuth authentication as appropriate. Bir uç nokta güvenliğini sağlamak için en kolay yolu, aracı olarak HTTP istek/yanıt tetikleyicisi olan bir mantıksal uygulama kullanıyor.The easiest way to secure an endpoint is using a logic app with an HTTP request/response trigger as an intermediary.

Event Grid hizmeti aracılığıyla bir doğrulama kodu olay teslimi güvenliğini sağlar.The Event Grid service secures event delivery through a validation code. Olay kullanmak için Logic Apps kullanıyorsanız, doğrulama otomatik olarak gerçekleştirilir.If you use Logic Apps to consume the event, validation is automatically performed. Daha fazla bilgi için Event Grid güvenliğini ve kimlik doğrulaması.For more information, see Event Grid security and authentication.