gRPC
-
Grpc Service의 호출오류가 Grpc Client 헬스체크 실패를 야기하는 문제 해결Spring 2024. 11. 19. 21:15
하나의 서비스에 GrpcService를 구현하고 이제 이를 사용하는 별도 서비스의 GrpcClient에 구현된 기능을 호출하도록 구현하였는데, GrpcService의 오류만으로도 GrpcClient 서버의 헬스체크가 실패하는 현상이 발생했다. 해당 문제의 원인을 파악하고 문제를 해결한 글을 남긴다! 문제 상황 서두에 말한것과 같이 별도의 서버에 구성된 GrpcClient, GrpcService가 존재한다. 두 서버는 별도의 서버로 서로에게 영향을 주어서는 안될 것으로 생각했는데, GrpcService가 장애 상황이거나 응답할 수 없는 상황에 장애가 전파되어 GrpcClient까지 헬스체크가 실패해서 livenessProbe, readinessProbe에 모두 503 응답으로 ServiceUna..
-
Grpc + Spring : 예외 처리 구현Spring 2024. 9. 22. 12:06
이번에는 grpc 서비스의 예외처리를 구현하는 방법을 작성해보고자 한다. grpc service : 특정 예외 메세지를 담아 지정된 예외로 발생하기 기존 rest 형식과 동일하게 grpc 서비스도 @GrpcExceptionHandler를 이용해서 예외 처리를 구현할 수 있다. 참고 : https://yidongnan.github.io/grpc-spring-boot-starter/en/server/exception-handling.html @GrpcAdvicepublic class GrpcExceptionAdvice { @GrpcExceptionHandler public Status handleInvalidArgument(IllegalArgumentException e) { ..
-
Grpc Spring Security - 3) Grpc Client에서 header를 포함한 grpc 호출하기Spring 2024. 9. 21. 14:45
이전 글에서 grpcService에서는 인증, 인가 처리를 구현했고, 이번에는 grpcClient에서 토큰을 포함해서 grpc를 호출할 수 있도록 구현해보자. grpcService의 인증 인가 구현 지난 글↓https://dodop-blog.tistory.com/472 Grpc Spring Security - 2) Grpc Service에 인증, 인가 구현하기이번엔 저번글에 이어서 인증 인가를 사용하는 Grpc Service를 구현해보자. Grpc Spring Boot Starter Security 관련 지난글↓https://dodop-blog.tistory.com/471 Grpc Spring Security - 1) GrpcSpringSecurity의 인증, 인가새dodop-blog.tistor..
-
Grpc Spring Security - 2) Grpc Service에 인증, 인가 구현하기Spring 2024. 9. 21. 14:03
이번엔 저번글에 이어서 인증 인가를 사용하는 Grpc Service를 구현해보자. Grpc Spring Boot Starter Security 관련 지난글↓https://dodop-blog.tistory.com/471 Grpc Spring Security - 1) GrpcSpringSecurity의 인증, 인가새롭게 신규 서버를 기존 서비스와 더불어 Grpc로도 기능을 제공해야하는 업무가 있어, 이번에 Grpc 통신을 할때 Security를 적용해보았다. 토큰을 이용한 인증, 인가를 구현하였다. 기본적으로 Spdodop-blog.tistory.com Dependency 추가 먼저 grpc service 구현을 위한 dependency를 추가한다. grpc spring boot start..
-
Grpc Spring Security - 1) GrpcSpringSecurity의 인증, 인가Spring 2024. 9. 21. 13:00
새롭게 신규 서버를 기존 서비스와 더불어 Grpc로도 기능을 제공해야하는 업무가 있어, 이번에 Grpc 통신을 할때 Security를 적용해보았다. 토큰을 이용한 인증, 인가를 구현하였다. 기본적으로 Spring Security와 비슷하게 동작한다. 참고로 Spring Security의 간단한 인증 인가 예외처리에 대해서는 이전에 작성한 블로그 글이 있다! ↓https://dodop-blog.tistory.com/448 인증 예외 처리 문제 해결 (2) - Spring Security의 인증 / 인가 예외 처리(지난 편,,,) ↓ https://dodop-blog.tistory.com/447 AuthenticationEntryPoint와 ControllerAdvice 최근에 sprign securi..
-
gRPC ③ gRPC + 스프링부트 프로젝트 구성해보기네트워크 & 인프라 2022. 10. 5. 22:20
이번엔 gRPC의 이해를 높이기 위해서 스프링부트 프로젝트를 이용하여 client 모듈과 gRPC 서버 모듈로 분리하여 서로 통신하는 것을 확인해보자. 참고한 글 https://medium.com/jongho-developer/spring-boot-grpc-and-my-experience-of-grpc-fad4af471eb5 Spring Boot + gRPC (and, my experience of gRPC) 이번 포스트는 google에서 개발한 HTTP-based RPC Framework, gRPC를 소개하려 한다. Spring Boot를 사용해 gRPC Server를 만드는 방법을 알아보자. medium.com https://jeong-pro.tistory.com/192 gRPC 사용법, gRPC 예..
-
gRPC ② gRPC + 자바 프로젝트 구성해보기네트워크 & 인프라 2022. 10. 5. 22:02
이번엔 gRPC를 이용한 자바 프로젝트를 예시로 gRPC를 이해해보자. 참고한 글 https://jeong-pro.tistory.com/192 gRPC 사용법, gRPC 예제 코드 실행해보기, 원리는 몰라도 gRPC 입문은 가능하다 (grpc java example) 이 포스트는 springcamp2017에서 grpc발표를 하신 오명운님의 발표 자료 및 github소스를 참고해서 작성한 것입니다. gRPC의 장점 service 정의가 단순하다 여러 프로그래밍 언어나 플랫폼에서 사용이 가 jeong-pro.tistory.com 깃허브 : https://github.com/HomoEfficio/springcamp2017-grpc-java-server 해당 코드의 모든 출처는 https://github.com..
-
gRPC ① gRPC란 ( + Kotlin 설정)네트워크 & 인프라 2022. 9. 30. 17:21
아키텍처를 공부하면서 배운 gRPC에대해서 알고싶어 공부를 시작했다! 🙌 참고한 영상 👇🏼 https://www.youtube.com/watch?v=pCTLu4awGVk https://www.youtube.com/watch?v=VBtwIkE-W14 참고한 글 👇🏼 https://dgahn.tistory.com/6?category=959084 [실습] Kotlin + Armeria + gRPC 사용기 - ProcolBuffer 편 들어가기 전에 이번 글의 목적은 프로토콜 버퍼와 JSON 그리고 gRPC와 HTTP를 비교하는 것이다. 프로토콜 버퍼가 메시지를 어떻게 경량화하는지는 프로토콜 버퍼 원리을 읽기 바란다. gRPC와 HTTP가 dgahn.tistory.com https://snowdeer.githu..