Gereksinimler: ASP.NET Core tarafından kullanılan mikroservis mimarisine göre, bazı hizmetler belirli bir hizmetle sık iletişim kurması gereken altyapı (temel hizmetler) olup, yüksek performans ve düşük gecikme özellikle önemlidir.
Verileri serileştirmek için MemoryPack protokolünü kullanmak, JSON kullanmaya göre iki avantaja sahiptir: hızlı serileştirme ve küçük içerik transferi, bu da performansı artırır.
Eleştiri:
Arayüz, MemoryPack ve JSON kullanılarak 200.000 kez çağrıldı ve sonuçlar şu şekildeydi:
MemoryPack ise 29.895 milisaniye sürede çalışır JSON 34.283 milisaniye sürer
Çünkü benYerel testte, fark çok belirgin değilSunucular arası çağrılar olduğunda, alanlar arttığında ve veri hacmi arttığında, farkın daha belirgin olacağını düşünüyorum.
ASP.NET Core yapılandırması MemoryPack protokolünü destekler
Nesne, MemoryPack protokolü kullanılarak serileştirilip HTTP protokolü üzerinden gönderildiğinden, ASP.NET Core'un MemoryPack protokolünü desteklemesi gerekir ve yeni bir MemoryPackInputFormatter sınıfı oluşturulur, kod şu şekildedir:
Daha sonra MvcOptions, aşağıdaki kodla MemoryPack protokolünü destekler:
Aşağıdaki UserProfile koduyla bir taşıma nesnesi tanımlayın:
Kontrolör yöntemi, aşağıdaki kodla bir arayüz ekler:
Konsol, HTTP istekleri göndermek için Refit kullanıyor
Bir konsol uygulaması, nesneleri serileştirmek ve HTTP isteklerini arayüzlere göndermek için MemoryPack kullanır; aşağıdaki kodla:
Test şöyledir:
Bir nesneyi serileştirmek için MemoryPackSerializer kullanılırken, aşağıdaki kod hata verir:
System.Object bu sağlayıcıda kayıtlı değildir Bu bir MemoryPack hatası olmalı ve aşağıdaki şekilde değiştirilmeli:
(Son)
|