Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 4002|Atbildi: 2

[Avots] ASP.NET Core (24) ir balstīts uz Refit, MemoryPack augstas veiktspējas komunikāciju

[Kopēt saiti]
Publicēts 2023-9-30 22:10:36 | | | |
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:

MessagePack un protobuf-net veiktspējas etaloni
https://www.itsvse.com/thread-10655-1-1.html

.net/c# Xml, Json, Hessian, Protocol Buffers serializācijas salīdzinājums
https://www.itsvse.com/thread-4675-1-1.html

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)





Iepriekšējo:Windows 11 failu pārlūka stostīšanās, iestrēdzis risinājums
Nākamo:.NET/C# jauna līdzekļa ieraksta tips
 Saimnieks| Publicēts 2023-10-1 08:06:35 |
System.Object nav reģistrēts šajā nodrošinātājā

Šī problēma ir saistīta ar Refit:




 Saimnieks| Publicēts 2024-12-31 21:47:28 |
Lejupielādējiet failu, izmantojot Refit, lai iegūtu atbilžu plūsmu (Piezīme:Visa lejupielādētā failu plūsma netiek ielādēta atmiņā



Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com