# grpc gateway - 성현 ### 사용 기술 - Go 1.17.6 - libprotoc 3.19.4 - .proto 파일 컴파일링 - gRPC ### 기능 - 이 서버는 proto 파일을 읽고 리버스 프록시를 생성합니다. 이 리버스 프록시를 통해 grpc-gateway 서버는 RESTful HTTP API를 gRPC로 변환해주는 역할을 하게됩니다. ![](https://i.imgur.com/objxfwz.png) [이미지 참조](https://musma.github.io/2020/12/31/grpc-gateway-start.html) ### 기술 선택 이유 gRPC는 Proto buffer를 사용하고 이로인해 Rest API와 비교하여 많은 장점을 가지고 있습니다. 하지만 web과의 직접적인 통신을 지원하지 않습니다. 하지만 이 gRPC-gateway를 거치면 HTTP1.1을 사용하는 Rest API 방식의 통신을 HTTP2.0을 사용하는 gRPC 통신으로 변경하여 사용을 지원해 줍니다. ### 반성할 점 gRPC의 게이트웨이 단계에서 미들웨어 역할을 하는 Interceptor를 사용해 로깅을 시도해 보려 하였습니다. 하지만 이를 시도해보지 못해 아쉬움이 남습니다.