Requisitos: Según la arquitectura de microservicios utilizada por ASP.NET Core, algunos servicios son infraestructuras (servicios básicos) que necesitan comunicarse frecuentemente con un determinado servicio, y el alto rendimiento y la baja latencia son especialmente importantes.
Utilizar el protocolo MemoryPack para serializar datos tiene dos ventajas frente al JSON: serialización rápida y transferencia de contenido reducida, lo que mejora el rendimiento.
Revisión:
La interfaz fue llamada 200.000 veces usando MemoryPack y JSON, y los resultados fueron los siguientes:
MemoryPack tarda 29.895 milisegundos JSON tarda 34.283 milisegundos
Ya que soyPrueba local, la diferencia no es muy perceptibleCuando aumentan las llamadas entre hosts, los campos y el volumen de datos, creo que la brecha será más evidente.
ASP.NET Configuración Core soporta el protocolo MemoryPack
Dado que el objeto se serializa usando el protocolo MemoryPack y luego se envía por el protocolo HTTP, ASP.NET Core debe soportar el protocolo MemoryPack, y se crea una nueva clase MemoryPackInputFormatter, el código es el siguiente:
Luego, MvcOptions añade soporte para el protocolo MemoryPack, con el siguiente código:
Defina un objeto de transporte con el siguiente código UserProfile:
El método controlador añade una interfaz con el siguiente código:
La consola utiliza Refit para enviar solicitudes HTTP
Una aplicación de consola utiliza MemoryPack para serializar objetos y enviar peticiones HTTP a interfaces, con el siguiente código:
La prueba es la siguiente:
Al usar MemoryPackSerializer para serializar un objeto, el siguiente código dará un error:
System.Object no está registrado en este proveedor Debería ser un error de MemoryPack, modificado de la siguiente manera:
(Fin)
|