Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ASP.NET Core SignalR 2.1 Yenilikleri

ASP.NET Core SignalR 2.1 Yenilikleri

Selçuk Usta

June 26, 2018
Tweet

More Decks by Selçuk Usta

Other Decks in Programming

Transcript

  1. SignalR; Sunucu ile istemci arasında – HTTP protokolünden farklı olarak

    – kalıcı bir bağlantı sağlayan, Sunucudaki kod ile istemci tarafında JavaScript tetikleyebilen, Uygulamalara, gerçek zamanlı web uygulaması işlevini sağlayan ASP.NET Core kütüphanesidir.
  2. Product microservice 1 UpdatePrice () Web API 2 DB Update

    3 PriceUpdated event Event Bus (Pub/Sub) Notification microservice 4 Web API PriceUpdated event 5 SignalR Hub event-driven microservice architecture
  3. 3 2 1 LongPolling ServerSentEvents WebSocket - İstemci, alışagelmiş şekilde

    (HTTP) sunucuya bir istekte bulunur. - İstekten dönen sayfada yer alan JavaScript bloğu çalıştırılır. - Sunucu, yeni bir bilgi üretene dek cevap vermez. - Yeni bilginin üretilmesi sonucu oluşan cevap istemciye iletilir. - İstemci, yeni bilgiyi alır; işler ve sunucuya tekrar istekte bulunup süreci baştan başlatır. - İstemci, alışagelmiş şekilde (HTTP) sunucuya bir istekte bulunur. - İstekten dönen sayfada yer alan JavaScript bloğu çalıştırılır. - Çalışan script bloğu aracılığıyla istemci sunucu arası tek yönlü bir haberleşme kanalı oluşur ve bu kanal üzerinden sunucu, istemciye yeni durumları iletir. - İstemci, alışagelmiş şekilde (HTTP) sunucuya bir istekte bulunur. - İstekten dönen sayfada yer alan JavaScript bloğu çalıştırılır. - Çalışan script bloğu aracılığıyla istemci sunucu arası çift yönlü bir haberleşme kanalı oluşur ve bu kanal üzerinden sunucu ve istemci birbirlerine yeni durumları iletirler.
  4. Hub

  5. Hub'lar; sunucu ve istemcinin birbirlerine ait fonksiyonları, parametrik olarak işleyebilmesine

    olanak sağlayan, protokol tabanlı iletişim nesneleridir. JSON M E S S A G E P A C K const connection = new signalR.HubConnectionBuilder() .withUrl("/chatHub").build(); public class ChatHub : Hub { }
  6. M E S S A G E P A C

    K {"name":"John","age":30,"car":null} 83 a4 6e 61 6d 65 a4 4a 6f 68 6e a3 61 67 65 1e a3 63 61 72 c0 35 bytes 21 bytes (%60 daha küçük) { "name": "John", "age": 30, "car": null } 83 a4 6e 61 6d 65 a4 4a 6f 68 6e a3 61 67 65 1e a3 63 61 72 c0 48 bytes 21 bytes (%44 daha küçük) Yeni nesil "binary serialization" yöntemi JSON kadar yaygın, JSON'dan daha küçük 50'den fazla ortam ve programlama dili için destek (*) (*) https://msgpack.org
  7. JQuery bağımlılığına son! Daha hızlı, daha hafif ve kolay entegre

    edilebilir istemci kütüphanesi <spoiler> İstemci taraflı strongly-typed Hub </spoiler> <spoiler> Java, C++, IOS platformları için SDK geliştirmeleri </spoiler> > npm install @aspnet/signalr > npm install @aspnet/signalr-protocol-messagepack
  8. 2 Azure SignalR ServicePreview Performans, yüksek erişilebilirlik, ölçeklenebilirlik Yetkilendirme Fiziksel/Yazılımsal

    yük dağıtımı Eş zamanlı HTTP bağlantı limitlendirmesi - Long Polling, Server Sent Events (Chrome – 6 Bağlantı) - WebSocket (Chrome – 256 Bağlantı)