ASPNET/Grpc(10)
-
gRPC - 프로세스 간 통신 (IPC)
IPC (프로세스 간 통신) 는 클라이언트와 서버가 같은 머신에 있는 경우 tcp 보다 효율적이다. gRPC 에서 IPC 를 지원 하는 방법을 알아보자. 서버 구성 Program.cs ... using Microsoft.AspNetCore.Server.Kestrel.Core; ... // gRPC IPC 설정 string socketPath = Path.Combine(Path.GetTempPath(), "socket.tmp"); builder.WebHost.ConfigureKestrel(options => { if (File.Exists(socketPath)) { File.Delete(socketPath); } options.ListenUnixSocket(socketPath, listenOptions =..
2022.05.27 -
gRPC - 로깅 및 진단
gRPC 는 3가지 방법으로 진단 정보를 수집할 수 있다. 로깅 : NET Core 로깅에 기록되는 구조적 로그입니다. ILogger는 앱 프레임워크에서 로그를 기록하고 사용자가 앱에서 자체 로깅을 유지하는 데 사용됩니다. 추척 : DiaganosticSource 및 Activity를 사용하여 기록되는 작업 관련 이벤트입니다. 진단 소스에서의 추적은 일반적으로 Application Insights 및 OpenTelemetry와 같은 라이브러리에서 앱 원격 분석을 수집하는 데 사용됩니다. 메트릭 : 시간 간격에 따른 데이터 측정값 표시입니다(예: 초당 요청 수). EventCounter를 사용하여 메트릭을 내보내고, dotnet-counters 명령줄 도구 또는 Application Insights를 사용..
2022.05.26 -
gRPC - 인터셉터
인터셉터는 앱이 들어오는 또는 나가는 gRPC 호출과 상호 작용할 수 있도록 하는 gRPC 개념으로, 요청 처리 파이프라인을 보강하는 방법을 제공합니다. 인터셉터는 채널 또는 서비스에 대해 구성되고 각 gRPC 호출에서 자동으로 실행됩니다. 인터셉터는 사용자의 애플리케이션 논리에 투명하므로 로깅, 모니터링, 인증, 유효성 검사와 같은 공통 사례에 적합한 솔루션입니다. 기본 코드 public class ExampleInterceptor : Interceptor { ... } 클라이언트 인터셉터 grpc server 로 나가는 rpc 호출을 가로챌 수 있다. BlockingUnaryCall: 단항 RPC의 차단 호출을 가로챕니다. AsyncUnaryCall: 단항 RPC의 비동기 호출을 가로챕니다. Asyn..
2022.05.25 -
gRPC - JWT Token 을 통한 인증 처리
ASP.NET Core 인증과 함께 gRPC를 사용하여 각 호출과 사용자를 연결할 수 있습니다. ASP.NET Core에서 Identity 소개 ASP.NET Core 앱과 함께 Identity를 사용합니다. 암호 요구 사항(RequireDigit, RequiredLength, RequiredUniqueChars 등)을 설정하는 방법을 알아봅니다. docs.microsoft.com Share project 생성 (c# library) CommonConfiguration/Configuraion.json (property 에서 build 시 copy 되도록 설정하자) { "TokenManagement": { "Secret": "99ce883bfb15df8e5422d9f6e987500be6d98fb1e47a1..
2022.05.24 -
gRPC - Configuration
Server 옵션 정의 Startup.ConfigureServices에서 AddGrpc 호출에 옵션 대리자를 제공하여 모든 서비스에 대해 옵션을 구성할 수 있습니다. ... builder.Services.AddGrpc(options => { options.EnableDetailedErrors = true; options.MaxReceiveMessageSize = 2 * 1024 * 1024; // 2 MB options.MaxSendMessageSize = 5 * 1024 * 1024; // 5 MB }); ... 단일서비스에 옵션 적용하기 // 단일 서비스에 옵션 적용하기 builder.Services.AddGrpc().AddServiceOptions(options => { options.MaxRece..
2022.05.23 -
grpc test - grpcui
테스트를 하기 전에 해당 Test tool 을 설치 하기 위해 Go language sdk 를 설치 하자 https://go.dev/dl/ Downloads - The Go Programming Language Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information about Go releases go.dev 그리고 다음을 설치 하자 ht..
2022.05.20