Reikalavimai: Remiantis "ASP.NET Core" naudojama mikropaslaugų architektūra, kai kurios paslaugos yra infrastruktūra (pagrindinės paslaugos), kurioms reikia dažnai bendrauti su tam tikra paslauga, o didelis našumas ir maža delsa yra ypač svarbūs.
"MemoryPack" protokolo naudojimas duomenims nuosekliai naudoti turi du privalumus, palyginti su JSON: greitas serializavimas ir nedidelis turinio perdavimas, o tai pagerina našumą.
Peržiūra:
Sąsaja buvo iškviesta 200 000 kartų naudojant "MemoryPack" ir JSON, o rezultatai buvo tokie:
"MemoryPack" trunka 29 895 milisekundes JSON trunka 34 283 milisekundes
Kadangi aš esuVietinis testas, tarpas nėra labai pastebimasKai kryžminio šeimininko skambučiai, laukai padidėja, ir duomenų kiekis didėja, manau, kad atotrūkis bus akivaizdesnis.
"ASP.NET Core" konfigūracija palaiko "MemoryPack" protokolą
Kadangi objektas nuoseklizuojamas naudojant "MemoryPack" protokolą, o po to siunčiamas per HTTP protokolą, "ASP.NET Core" turi palaikyti "MemoryPack" protokolą ir sukuriama nauja "MemoryPackInputFormatter" klasė, kodas yra toks:
Tada MvcOptions prideda "MemoryPack" protokolo palaikymą su šiuo kodu:
Apibrėžkite transportavimo objektą su šiuo UserProfile kodu:
Valdiklio metodas prideda sąsają su šiuo kodu:
Konsolė naudoja "Refit" HTTP užklausoms siųsti
Konsolės programa naudoja "MemoryPack", kad suskirstytų objektus ir siųstų HTTP užklausas į sąsajas su šiuo kodu:
Bandymas yra toks:
Naudojant "MemoryPackSerializer" objektui nuoseklizuoti, šis kodas pateiks klaidą:
System.Object neužregistruotas šiame teikėje Tai turėtų būti "MemoryPack" klaida, modifikuota taip:
(Pabaiga)
|