Kafka에서는 장애로 인한 문제 혹은 의도적으로 이미 처리한 메세지를 재처리해야 할 때 Kafka의 Offset을 이용하여 메세지를 재처리할 수 있습니다.분산 환경에서 컨슈머 애플리케이션을 운영할 때, 컨슈머 그룹을 중단하지 않고 Offset을 이동하는 방법컨슈머 리
메세지 큐생상자와 소비자 사이에서 메세지 ( 데이터 )를 임시로 저장하고 전달하는 중간 저장소 메세지 큐를 사용하는 이유비동기 처리와 작업 저장 여러 작업을 비동기적으로 처리하고, 메세지 큐에 저장함으로써 작업의 유실을 방지합니다. 작업을 처리하는 과정에서 문제 발

커밋을 한 상태에서 커밋 메세지를 수정하고 싶다면 git commit --amend 명령어 사용vi로 커밋 메세지 수정 가능합니다.이미 push 한 커밋 메세지 수정하고 싶다면 ?reset 사용 ( 웬만하면 revert 사용하기 )reset은 지정한 커밋 시점으로 되돌

image.pngApache Kafka is an open-source distributed event streaming platformKafka : 오픈 소스 분산 이벤트 스트리밍 플랫폼eventAn event records the fact that "somethin

이전 구조 기존 구조에서는 모든 대기열 요청을 Kafka로 전송하고, 모든 서버를 동일한 consumer group으로 설정하여 하나의 서버에서만 메시지를 consume하도록 구성하였습니다. Kafka는 이벤트의 영속성을 보장하기 위해 사용되었으며, consume된
Netty Java 기반으로 구현된 비동기/논블로킹 방식의 Event-Driven 네트워크 애플리케이션 프레임워크 프레임워크이지만 자체적으로 서버 기능을 수행할 수 있는 구조이며, Spring WebFlux에서도 기본 내장 서버로 Netty를 사용합니다. Nett
비동기 환경에서 멱등키 데이터를 저장하기 위해, 동기·블로킹 방식의 JDBC 대신 R2DBC를 사용합니다. R2DBC ( Reactive Relational Database Connectivity ) 리액티브 환경에서 관계형 데이터베이스에 접근하기 위한 표준 API
대기열 시스템을 구현하기 위해 Redis의 ZSet 자료구조를 활용하였으며, 이에 대한 Redis 설정과 아키텍처 구조를 정리해보고자 합니다.Redis의 구조는 크게 Master/Slave 구조와 Cluster 구조로 나눌 수 있습니다. Master/Slave 구조 1

SPOF ( Single Point Of Failure )시스템 내에서 하나의 구성 요소가 실패할 경우 전체 시스템이 중단되는 지점예를 들어, 모든 웹 트래픽을 단일 서버가 처리하거나, 데이터를 단일 데이터베이스 서버에서 관리하는 구조에서 둘 중 하나만 장애가 발생하더

대기열 및 참가열의 등록, 삭제, 존재 유무, 순위 반환, 대기열에서 참가열로 이동에 대한 테스트 코드 작성
현재 Plane 객체를 약 1400개 정도 처리하고 있으며, 일부는 신규로 추가되고 일부는 기존 데이터에 대한 업데이트를 하고 있습니다.처음에는 각 객체에 대해 개별적으로 save() 메서드를 호출하여 저장 및 갱신을 실행했지만, 이 방식은 JPA에서 객체마다 pers
현재 Jwt를 이용한 로그인 방식을 사용하고 있기에, Jwt 토큰을 재발급 하는 로직이 필요api로 요청을 보내는 경우 interceptor가 우선 요청을 보낸 후 만약 Jwt 토큰이 만료되게 됐다면, 발생한 HttpServletResponse.\*SC_UNAUTHO
org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.example.cra