Spring
-
Grpc Service의 호출오류가 Grpc Client 헬스체크 실패를 야기하는 문제 해결Spring 2024. 11. 19. 21:15
하나의 서비스에 GrpcService를 구현하고 이제 이를 사용하는 별도 서비스의 GrpcClient에 구현된 기능을 호출하도록 구현하였는데, GrpcService의 오류만으로도 GrpcClient 서버의 헬스체크가 실패하는 현상이 발생했다. 해당 문제의 원인을 파악하고 문제를 해결한 글을 남긴다! 문제 상황 서두에 말한것과 같이 별도의 서버에 구성된 GrpcClient, GrpcService가 존재한다. 두 서버는 별도의 서버로 서로에게 영향을 주어서는 안될 것으로 생각했는데, GrpcService가 장애 상황이거나 응답할 수 없는 상황에 장애가 전파되어 GrpcClient까지 헬스체크가 실패해서 livenessProbe, readinessProbe에 모두 503 응답으로 ServiceUna..
-
동시 삭제 요청으로 인한 StaleObjectStateException 해결 - redisson lock 적용기 (feat. Spring AOP, applicationEventListener)Spring 2024. 10. 1. 16:58
최근에 회사에서 동시성 이슈가 발생하여 해결하기 위한 작업을 진행했는데, 이때, redisson을 사용해볼 기회가 생겨서 어떤 방식으로 redisson lock을 구현했는지 기록해본다. 이전에 동시성 이슈를 해결하기 위한 강의를 듣고 정리했었다. ↓https://dodop-blog.tistory.com/464 인프런) 재고시스템으로 알아보는 동시성 이슈 해결 (2)지난 글에 이어서 다음의 인프런 강의를 실습해본다. https://www.inflearn.com/course/%EB%8F%99%EC%8B%9C%EC%84%B1%EC%9D%B4%EC%8A%88-%EC%9E%AC%EA%B3%A0%EC%8B%9C%EC%8A%A4%ED%85%9C/dashboard 재고시스템으로 알아보는 동시성이dodop-blog.t..
-
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..
-
SpringBatch) 스프링 배치 5의 변경점Spring 2024. 3. 31. 13:43
스프링 배치 강의를 듣고 최신 스프링 배치 5를 이용해서 테스트를 하다보니 몇가지 변경점이 있어 정리해보았다! 스프링 배치의 변경점은 아래 공식 문서에서 자세히 확인할 수 있다! https://docs.spring.io/spring-batch/reference/job/configuring.html#%EF%BB%BF Configuring a Job :: Spring Batch If a group of Jobs share similar but not identical configurations, it may help to define a “parent” Job from which the concrete Job instances can inherit properties. Similar to class inhe..
-
SpringBatch) 스프링 배치 간단 정리Spring 2024. 3. 31. 13:32
인프런 강의를 듣고 어카운트 테드 (회사) 시간에 간단 스프링 배치로 정리해서 발표를 진행했는데, 해당 내용을 블로그에도 정리한다. 강의의 출처는 인프런에 있는 정수원 강사님의 스프링 배치다! https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B0%B0%EC%B9%98 스프링 배치 | 정수원 - 인프런 정수원 | 초급에서 중~고급에 이르기까지 스프링 배치의 기본 개념부터 API 사용법과 내부 아키텍처 구조를 심도있게 다룹니다. 그리고 스프링 배치 각 기능의 흐름과 원리를 학습하게 되고 이를 www.inflearn.com Architecture Application 개발자가 만든 모든 배치 Job 과 커스텀 코드 Batch core Job을 ..