Aracılığıyla paylaş


Azure Web PubSub temel kavramları

Azure Web PubSub hizmeti, gerçek zamanlı mesajlaşma web uygulamaları oluşturmanıza yardımcı olur. İstemciler standart WebSocket protokolunu kullanarak hizmete bağlanır ve hizmet, bu istemcileri yönetmeniz için REST API'leri ve SDK'ları kullanıma sunar.

Terimler

Hizmet tarafından kullanılan bazı önemli terimler şunlardır:

  • Bağlantı: İstemci veya istemci bağlantısı olarak da bilinen bağlantı, istemci ile Web PubSub hizmeti arasındaki mantıksal bir ilişkidir. Bir 'bağlantı' üzerinden, istemci ve hizmet durum bilgisi olan bir dizi etkileşimde bulunur. Farklı protokoller kullanan bağlantılar farklı davranabilir, örneğin, bazı bağlantılar ağ bağlantısının süresiyle sınırlandırılırken, diğerleri bir istemci ile hizmet arasında ardışık birden çok ağ bağlantısına yayılabilir.

  • Hub: Hub, bir dizi istemci bağlantısı için mantıksal bir kavramdır. Genellikle bir senaryo için bir hub kullanırsınız, örneğin sohbet hub'ı veya bildirim hub'ı. bir istemci bağlantısı bağlandığında bir hub'a bağlanır ve kullanım ömrü boyunca bu hub'a aittir. bir istemci bağlantısı hub'a bağlandıktan sonra hub mevcut olur. Farklı uygulamalar, farklı hub adlarını kullanarak bir Azure Web PubSub hizmetini paylaşabilir. Hub sayısı üzerinde kesin bir sınır olmasa da, hub bir grupla karşılaştırıldığında daha fazla hizmet yükü tüketir. Bunları dinamik olarak oluşturmak yerine önceden belirlenmiş bir hub kümesine sahip olmanız önerilir.

  • Grup: Grup, hub'a bağlantıların bir alt kümesidir. Bir gruba istemci bağlantısı ekleyebilir veya istemci bağlantısını istediğiniz zaman gruptan kaldırabilirsiniz. Örneğin, bir istemci bir sohbet odasına katıldığında veya bir istemci sohbet odasından ayrıldığında, bu sohbet odası bir grup olarak kabul edilebilir. bir istemci birden çok gruba katılabilir ve bir grup birden çok istemci içerebilir. Grup bir grup "oturumu" gibidir, bir kişi gruba katıldıktan sonra grup oturumu oluşturulur ve grupta kimse olmadığında oturum kaybolur. Gruba gönderilen iletiler, gruba bağlı tüm istemcilere teslim edilir.

  • Kullanıcı: Web PubSub bağlantıları tek bir kullanıcıya ait olabilir. Bir kullanıcının birden çok bağlantısı olabilir; örneğin, tek bir kullanıcı birden çok cihaza veya birden çok tarayıcı sekmesine bağlandığında.

  • İleti: İstemci bağlandığında, WebSocket bağlantısı aracılığıyla yukarı akış uygulamasına ileti gönderebilir veya yukarı akış uygulamasından ileti alabilir. İletiler düz metin, ikili veya JSON biçiminde olabilir ve boyut üst sınırı 1 MB olabilir.

  • İstemci Olayları: Olaylar, istemci bağlantısının yaşam döngüsü sırasında oluşturulur. Örneğin, basit bir WebSocket istemci bağlantısı hizmete bağlanmaya çalıştığında bir connect olay, hizmete başarıyla bağlandığında bir connected olay, hizmete ileti gönderdiğinde bir message olay ve hizmetle bağlantısı kesildiğinde bir disconnected olay oluşturur. İstemci olayları hakkındaki ayrıntılar İstemci protokolü bölümünde gösterilmiştir.

  • Olay İşleyicisi: Olay işleyicisi, istemci olaylarını işleme mantığını içerir. Portal veya Azure CLI aracılığıyla hizmette olay işleyicilerini önceden kaydedin ve yapılandırın. Ayrıntılar Olay işleyicisi bölümünde açıklanmıştır.

  • Olay Dinleyicisi(önizleme): Olay dinleyicisi yalnızca istemci olaylarını dinler, ancak yanıtlarıyla istemcilerinizin ömrünü engelleyemez. Ayrıntılar Olay dinleyicisi bölümünde açıklanmıştır.

  • Sunucu: Sunucu istemci olaylarını işleyebilir, istemci bağlantılarını yönetebilir veya iletileri gruplara yayımlayabilir. Hem olay işleyicisi hem de olay dinleyicisi sunucu tarafı olarak kabul edilir. Sunucuyla ilgili ayrıntılar Sunucu protokolü bölümünde açıklanmıştır.

Önemli

Hub, Groupistemcileri UserId yönetirken ve ileti gönderirken önemli rollerdir. Bunlar, farklı REST API çağrılarında düz metin olarak gerekli parametreler olacaktır. Bu nedenle hassas bilgileri bu alanlara KOYMAYIN . Örneğin, yüksek sızıntı riski taşıyan kimlik bilgileri veya taşıyıcı belirteçler.

İş Akışı

Hizmeti kullanan tipik bir iş akışı aşağıdaki gibi gösterilir:

Web PubSub hizmeti iş akışını gösteren diyagram.

Yukarıdaki iş akışı grafiğinde gösterildiği gibi:

  1. İstemci, WebSocket aktarımını kullanarak hizmetteki bir hub'a bağlanır. Hizmet, iletileri yapılandırılan yukarı akışa (sunucu) iletebilir veya iletileri kendi başına işleyebilir ve istemcinin kullandığı protokole bağlı olarak istemcilerin doğrudan pub/sub gerçekleştirmesine izin verebilir. Ayrıntılar istemci protokollerinde açıklanmıştır.

  2. Hizmet, farklı istemci olaylarında CloudEvents protokollerini kullanarak sunucuyu çağırır. CloudEvents , Cloud Native Computing Foundation (CNCF) tarafından barındırılan olayların yapısının ve meta veri açıklamasının standartlaştırılmış ve protokolden bağımsız bir tanımıdır. Ayrıntılar sunucu protokolünde açıklanmıştır.

  3. Sunucu, istemcilere ileti göndermek veya bağlı istemcileri yönetmek için REST API kullanarak hizmeti çağırabilir. Ayrıntılar sunucu protokolünde açıklanmıştır