우아콘24의 ‘Kafka 기반 대규모 데이터 동시성 최적화: Request-Reply 패턴 활용 사례’’ 에 대한 학습 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 도입 배경 주문이 급증하는 지역에 소수의 라이더가 존재한다고 가정했을때 고객들의 배송이 지연되는 현상이 발생하게 됨 이때 시스템에선 ‘주문수 대비 라이더가 너...
[Java] virtual thread
우아한 테크 세미나 ‘Java의 미래, Virtual Thread’ 학습 내용을 정리하기 위한 포스팅입니다😀 1. 일반 Thread 모델 일반 스레드 모델은 다음과 같은 특징을 가진다. 플랫폼 스레드 OS에 의해 스케줄링 커널 스레드와 1대1 매핑 작업 단위 Runnable 애플리케이션은 커널 영역(OS), 유저 영역(...
Start With Why 내용 정리
‘Start With Why’ 책 내용을 정리하기 위한 목적의 포스팅입니다🙆♂️ 들어가며 진정한 리더는 사람들이 자발적으로 행동하도록 마음 깊이 열의를 준다. 성과보상이나 혜택 같은 외부 요인 없이 목적의식이나 소속감을 심어줄수 있다. 1부 방향을 잃어버린 세상 1장 - 우리는 착각에 빠져있다 우리는 ‘올바른’ 판단을...
첫 스프린트 리딩 회고
스프린트 리더 제의 23년 10월 전사 조직 개편과 더불어 스프린트 리더(a.k.a 유닛장) 제의가 들어오게 되었다. 구성원 및 상위 리더분들의 신뢰를 받고 있다는 생각들어 뿌듯하면서도, 두 가지 생각이 머릿속을 맴돌았다. 이전 스프린트 리더들을 옆에서 지켜보았을때 일반 스프린트 구성원들보다 많은 미팅 일정들로 실무 개발 시간이 줄어들텐데 ...
스프링부트 actuator 매트릭 데이터독 연동하기
서버 모니터링 및 장애대응시 tomcat threadpool과 hikaricp 관련 메트릭은 중요한 요소다. (경험상 두 메트릭 지표 관련 장애를 몇번 겪었기에 더 뼈저리게 느끼고 있다) 이번 포스팅에선 AWS ECS 환경에서 스프링부트의 actuator 를 활용하여 DataDog 에 커스텀 메트릭을 연동했던 트러블슈팅 과정을 기록하고자 한다. 실...
스프링부트3버전에서 존재하지 않는 리소스 요청시 예외가 발생하는 문제 해결기
spring boot3 버전 마이그레이션후로 ‘/favicon.ico/’ 요청에 대해 500 status 응답이 떨어지는 현상이 발생하였다. api 서버이기에 favicon을 별도 관리하지 않아 고객에게 이어지는 치명적인 상황은 아니었지만 제품운영 관점에서 에러로그가 너무 과도하게 찍히고있어, 실제 고객의 제품 사용 도중 발생한 오류들을 시스템적으로 ...
DB Master&Slave Replication
고가용성 시스템을 구축하려면 DB 이중화는 필수적인 요소이다. DB 이중화 방식에는 두 가지가 존재한다. Clustering: 여러 개의 DB를 수평적인 구조로 구축하는 방식, 동기 방식으로 노드들 간의 데이터를 동기화 Replication: 여러 개의 DB를 권한에 따라 수직적인 구조(Master-Slave)로 구축하는 방식, 비동기 방...
Service Mesh
기존 모놀리틱 구조에서 MSA로 전환하면서 독립성 및 확장성과 같은 많은 이점을 얻은만큼, 아래와 같은 단점도 존재하였다. 서비스가 분산되어 있어, 서비스간 통신에 복잡성 증가 장애 추적 및 모니터링 어려움 Service Discovery: 호출되는 서비스의 논리적, 물리적 위치가 변경되었을때 호출하는 서비스가 찾기 어려움 Circu...
프로파일러로 시스템 성능 향상시키기
토스 SLASH23 의 ‘프로파일러로 시스템 성능 향상시키기’’ 에 대한 학습 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ pinpoint MSA 환경에서 클라이언트 요청은 여러 서비스들을 통해 처리되곤하다보니 한 서버의 문제가 다른 서버로 영향을 미치게됨 pinpoint는 분산 트랜잭션 툴 서비스간 호출 확인 및 어...
지속 성장 가능한 코드를 만들어 가는 방법
토스 SLASH22 의 ‘지속 성장 가능한 코드를 만들어가는 방법’’ 에 대한 학습 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 햄버거 서비스의 생성자를 통해 해당 클래스가 어떤 클래스인지 암시적으로 들어냄. 너무 과한 의존성이 걸려있는게 아닌지 고민 필요 import 문을 기준으로 pa...