Požiadavky: Na základe architektúry mikroslužieb používaných ASP.NET Core sú niektoré služby infraštruktúra (základné služby), ktoré musia často komunikovať s určitou službou, pričom vysoký výkon a nízka latencia sú obzvlášť dôležité.
Použitie protokolu MemoryPack na serializáciu dát má dve výhody oproti JSON: rýchlu serializáciu a malý prenos obsahu, čo zlepšuje výkon.
Revízia:
Rozhranie bolo volané 200 000-krát pomocou MemoryPack a JSON a výsledky boli nasledovné:
MemoryPack trvá 29 895 milisekúnd JSON trvá 34 283 milisekúnd
Keďže somMiestny test, medzera nie je veľmi viditeľnáKeď sa zvýšia hovory medzi hostiteľmi, polia a objem dát, verím, že medzera bude zreteľnejšia.
ASP.NET konfigurácia jadra podporuje protokol MemoryPack
Keďže objekt je serializovaný pomocou protokolu MemoryPack a následne odoslaný cez HTTP protokol, ASP.NET Core potrebuje podporovať protokol MemoryPack a vytvorí sa nová trieda MemoryPackInputFormatter, kód je nasledovný:
Potom MvcOptions pridáva podporu pre protokol MemoryPack s nasledujúcim kódom:
Definujte transportný objekt s nasledujúcim kódom UserProfile:
Metóda ovládača pridáva rozhranie s nasledujúcim kódom:
Konzola používa Refit na odosielanie HTTP požiadaviek
Konzolová aplikácia používa MemoryPack na serializáciu objektov a odosielanie HTTP požiadaviek na rozhrania s nasledujúcim kódom:
Test je nasledovný:
Pri použití MemoryPackSerializer na serializáciu objektu nasledujúci kód zobrazí chybu:
System.Object nie je registrovaný u tohto poskytovateľa Mala by to byť chyba MemoryPack, upravená nasledovne:
(Koniec)
|