Spring Boot에서 Redis 실습하기
Redis를 사용하는 이유 Redis는 오픈 소스 기반의 고성능 키-값 저장소로, 메모리 내 데이터 저장 및 검색을 위한 데이터베이로 사용한다. redis는 메모리 내 데이터 저장으로 빠른 응답 속도를 제공하며 문자열, 리스트, 집합, 해시와 같은 다양한 데이터 타입을 다룰 수 있어 다양한 애플리케이션에서 활용 가능하다. ...
Backend Programmer, Spring Boot, Java, Kotlin. and I consider it important to record. Such as TIL and Blog.
Redis를 사용하는 이유 Redis는 오픈 소스 기반의 고성능 키-값 저장소로, 메모리 내 데이터 저장 및 검색을 위한 데이터베이로 사용한다. redis는 메모리 내 데이터 저장으로 빠른 응답 속도를 제공하며 문자열, 리스트, 집합, 해시와 같은 다양한 데이터 타입을 다룰 수 있어 다양한 애플리케이션에서 활용 가능하다. ...
AOP 활용하여 로그인 여부 체크하기 요구 사항 진행하는 프로젝트에서 거의 대부분의 API 메서드에서 로그인 정보가 없으면 401 HTTP 상태와 에러 코드를 반환해야 한다는 요구 사항이 추가되었다. 단순히 요구 사항만 충족시킨다면 각 API 메서드에 로그인 여부를 검증하는 로직을 추가하고, 로그인 정보가 없다면 401 상...
ForkJoinPool과 클래스 로더 문제가 발생한 상황 회사에서 설치형 솔루션 프로젝트를 진행하던 중이었다. 해당 프로젝트를 jar로 패키징하여 테스트 서버에 배포하고 기능 테스트를 진행하는데, 이러한 에러를 보게 되었다. java.lang.RuntimeException: java.io.FileNotFoundExcept...
Github Actions로 브랜치에서 push하면 특정 브랜치에 자동 merge 하기 팀원들과 깃 브랜치 머지에 대해 이야기하다가 다음과 같은 주제에 대해 이야기를 한 적이 있다. 현재 깃 플로우가 1. 개별 feature 브랜치에서 커밋 하고, 2. feature 브랜치와 릴리즈 버전 브랜치에 Merge 하고, 3. 버...
Kafka vs SQS 비교하기 실무에서 담당하고 있는 서비스에서의 메시지 큐 서비스로 Kafka와 NiFi로 호출하는 SQS 두 서비스를 혼합해 사용하고 있다. 물론 서비스 내에서도 파트가 나뉘어져 있어 한 파트는 Kafka, 한 파트에서는 SQS를 사용하고 있긴 하다. 하지만 한 서비스에서 서로 다른 메시지 큐 서비스를 ...
도입 사례로 살펴보는 올바른 Kafka 사용 방안 통상적으로 알려진 Kafka의 이점 Kafka는 링크드인에서 만들어져 현재는 Apache 재단에서 관리하는 오픈소스 분산 이벤트 스트리밍 플랫폼이다. 기존 링크드인의 데이터 처리 구조는 아래 이미지와 같이 굉장히 복잡했다고 한다. 이런 복잡한 구조에서 만약 이슈가 발생한다면 ...
휴가를 다녀오니 Kafka 토픽 파티션이 늘어난 건에 대하여 제목 그대로의 일이 발생했다. 휴가 중 서비스의 다량 요청 트래픽이 몰리는 일이 발생했고, 그에 따라 늘어난 메시지 큐를 빨리 처리하기 위해서 팀에서 파티션을 늘려 조치를 했던 것이다. 하지만 문제는 파티션을 늘리게 되면서 발생했다. 기존 토픽의 파티션은 1로,...
JPA 값 타입 필드 업데이트를 원활히 하는 방법 개요 실무에서 JPA를 사용하면서 엔티티의 json 필드의 특정 값을 업데이트하려고 하는데 정상적으로 동작하지 않았던 이슈를 소개하고, 이를 어떻게 해결했는지에 대해 다뤄보려 한다. 문제 상황 예를 들어, 다음과 같은 엔티티가 있다고 가정해보겠다. @Getter @To...
@Transactional 잘 적용하기 개요 실무 업무를 하던 중 예기치 못하게 DB에서 특정 ID 값을 가진 데이터를 찾을 수 없다는 이슈가 발생했다. 처음에는 데이터를 생성해주는 로직에서의 문제인 줄 알았지만, 동일한 로직을 사용하는 다른 곳에서는 정상적으로 동작하는 것을 확인하고 아닌 것을 확인했다. 팀원들과 모여서 문...
JPA 복합 키 사용하기 서론 실무에서 새로운 프로젝트를 진행하면서 새로운 DB 테이블을 생성해야 하는 경우가 있었는데, 해당 테이블을 복합 키로 설계해 만들게 되었다. 그러면서 사용하고 있는 ORM인 JPA에서 복합 키를 표현하고 사용해야 하는 상황이 발생하게 되었다. 이번 포스팅에서는 JPA에서 복합 키를 사용하는 대표...