Prasības: Pamatojoties uz ASP.NET Core izmantoto mikropakalpojumu arhitektūru, daži pakalpojumi ir infrastruktūra (pamatpakalpojumi), kuriem bieži jāsazinās ar noteiktu pakalpojumu, un augsta veiktspēja un zems latentums ir īpaši svarīgi.
MemoryPack protokola izmantošanai datu serializācijai ir divas priekšrocības salīdzinājumā ar JSON izmantošanu: ātra serializācija un neliela satura pārsūtīšana, kas uzlabo veiktspēju.
Pārskats:
Interfeiss tika izsaukts 200 000 reižu, izmantojot MemoryPack un JSON, un rezultāti bija šādi:
Atmiņas pakotne aizņem 29 895 milisekundes JSON aizņem 34,283 milisekundes
Tā kā es esmuVietējais tests, plaisa nav ļoti pamanāmaKad palielinās starpresursdatoru zvani, lauki un palielinās datu apjoms, es uzskatu, ka plaisa būs acīmredzamāka.
ASP.NET Core konfigurācija atbalsta MemoryPack protokolu
Tā kā objekts tiek serializēts, izmantojot MemoryPack protokolu, un pēc tam nosūtīts, izmantojot HTTP protokolu, ASP.NET Core ir jāatbalsta MemoryPack protokols, un tiek izveidota jauna MemoryPackInputFormatter klase, kods ir šāds:
Tad MvcOptions pievieno atbalstu MemoryPack protokolam ar šādu kodu:
Definējiet transporta objektu ar šādu UserProfile kodu:
Kontroliera metode pievieno saskarni ar šādu kodu:
Konsole izmanto Refit, lai nosūtītu HTTP pieprasījumus
Konsoles lietojumprogramma izmanto MemoryPack, lai serializētu objektus un nosūtītu HTTP pieprasījumus uz interfeisiem ar šādu kodu:
Tests ir šāds:
Izmantojot MemoryPackSerializer, lai serializētu objektu, šāds kods radīs kļūdu:
System.Object nav reģistrēts šajā nodrošinātājā Tam vajadzētu būt MemoryPack kļūdai, kas modificēta šādi:
(Beigas)
|