Requisitos: Com base na arquitetura de microserviços usada pelo ASP.NET Core, alguns serviços são infraestrutura (serviços básicos) que precisam se comunicar frequentemente com determinado serviço, e alto desempenho e baixa latência são particularmente importantes.
O uso do protocolo MemoryPack para serializar dados tem duas vantagens em relação ao JSON: serialização rápida e pequena transferência de conteúdo, o que melhora o desempenho.
Revisar:
A interface foi chamada 200.000 vezes usando MemoryPack e JSON, e os resultados foram os seguintes:
MemoryPack leva 29.895 milissegundos O JSON leva 34.283 milissegundos
Já que eu souExame local, a diferença não é muito perceptívelQuando as chamadas cross-host, os campos aumentam e o volume de dados aumentam, acredito que a diferença será mais evidente.
ASP.NET Configuração Core suporta o protocolo MemoryPack
Como o objeto é serializado usando o protocolo MemoryPack e então enviado pelo protocolo HTTP, ASP.NET Core precisa suportar o protocolo MemoryPack, e uma nova classe MemoryPackInputFormatter é criada, o código é o seguinte:
Depois, o MvcOptions adiciona suporte para o protocolo MemoryPack, com o seguinte código:
Defina um objeto de transporte com o seguinte código UserProfile:
O método controlador adiciona uma interface com o seguinte código:
O console usa Refit para enviar requisições HTTP
Um aplicativo de console usa o MemoryPack para serializar objetos e enviar requisições HTTP para interfaces, com o seguinte código:
O teste é o seguinte:
Ao usar o MemoryPackSerializer para serializar um objeto, o seguinte código gerará um erro:
O System.Object não está registrado neste provedor Deve ser um bug do MemoryPack, modificado da seguinte forma:
(Fim)
|