|
|
2023-9-30 22:10:36에 게시됨
|
|
|
|

요구사항: ASP.NET Core에서 사용하는 마이크로서비스 아키텍처를 기반으로 일부 서비스는 특정 서비스와 자주 통신해야 하는 인프라(기본 서비스)이며, 특히 높은 성능과 낮은 지연 시간이 중요합니다.
MemoryPack 프로토콜을 사용해 데이터를 직렬화하는 것은 JSON 사용에 비해 두 가지 장점이 있습니다: 빠른 직렬화와 작은 콘텐츠 전송으로 성능을 향상시킵니다.
복습:
인터페이스는 MemoryPack과 JSON을 사용해 20만 번 호출되었으며, 결과는 다음과 같았습니다:
메모리팩은 29,895밀리초가 소요됩니다 JSON은 34,283밀리초가 걸립니다
내가 그렇기 때문에국소 검사 결과, 간극은 크게 눈에 띄지 않습니다호스트 간 통화, 필드 증가, 데이터 볼륨이 증가하면 그 격차가 더 뚜렷해질 것이라고 생각합니다.
ASP.NET Core 구성은 MemoryPack 프로토콜을 지원합니다
객체가 MemoryPack 프로토콜을 사용해 직렬화된 후 HTTP 프로토콜을 통해 전송되기 때문에, ASP.NET Core는 MemoryPack 프로토콜을 지원해야 하며, 새로운 MemoryPackInputFormatter 클래스가 생성됩니다. 코드는 다음과 같습니다:
그 후 MvcOptions는 다음과 같은 코드로 MemoryPack 프로토콜 지원을 추가합니다:
다음 UserProfile 코드로 전송 객체를 정의합니다:
컨트롤러 메서드는 다음과 같은 코드로 인터페이스를 추가합니다:
콘솔은 Refit을 사용해 HTTP 요청을 전송합니다
콘솔 애플리케이션은 MemoryPack을 사용하여 객체를 직렬화하고 HTTP 요청을 인터페이스로 전송하며, 다음과 같은 코드가 작성됩니다:
시험 내용은 다음과 같습니다:
MemoryPackSerializer를 사용해 객체를 직렬화할 때, 다음 코드가 오류를 냅니다:
System.Object는 이 프로바이더에 등록되어 있지 않습니다 이것은 MemoryPack 버그일 것이며, 다음과 같이 수정되었습니다:
(끝)
|
이전의:Windows 11 파일 탐색기가 끊기고, 해결책이 막혔습니다다음:.NET/C# 새로운 기능 레코드 유형
|