멀티스레드 분산 환경에서의 로깅(2)
서론 이전 포스팅과 이어 작성됩니다. 2023.05.21 - [Tech/Java&Spring] - 멀티스레드 분산 환경에서의 로깅(1) 멀티스레드 분산 환경에서의 로깅(1) 서론 담당하고 있는 프로젝트에서 사용자 수가 점점 늘어나고, Batch 작업 갯수가 늘어나기 시작했습니다. 드물게 에러가 발생하기도 하는데, 이 때 어떤 상황인지 파악하고 원인을 알아내기 위 imksh.com 지난 포스팅에서 결론은 하나의 요청에서 파생된 로그인지 확인하기 어렵다는 결론이었습니다. 그래서, 이번 포스팅에서는 이를 해결할 수 있는 MDC Filter를 적용해봅니다. MDC란 MDC: Mapped Diagnostic Context MDC는 slf4j 패키지에 속해있는 클래스입니다. 또한 ThreadLocal을 이용해 각 ..
byTech··
멀티스레드 분산 환경에서의 로깅(1)
서론 담당하고 있는 프로젝트에서 사용자 수가 점점 늘어나고, Batch 작업 갯수가 늘어나기 시작했습니다. 드물게 에러가 발생하기도 하는데, 이 때 어떤 상황인지 파악하고 원인을 알아내기 위해 로그를 추적하기 시작합니다. Kibana로 로그 모니터링을 하고 있으나 한 가지 문제점을 경험했습니다. 멀티 스레드 및 분산 환경의 모든 로그를 하나로 모아보니 굉장히 많은 로그가 적재되고, 내가 원하는 로그를 찾기가 정말 어려워졌습니다. 이 포스팅에서는 이러한 문제점에 대해 알아보고, 다음 포스팅을 통해 하나의 요청에서 파생된 로그들을 쉽게 구분할 수 있도록 하는 방법인 MDC Filter에 대해 알아볼 계획입니다. 상황 가정 테스트에 사용된 모든 코드는 Github Repository에서 확인할 수 있습니다. ..
byTech··
넥스터즈 회장 후기
넥스터즈커뮤니티 소개넥스터즈는 디자이너와 개발자가 모여있는 오프라인 IT 연합동아리 입니다.넥스터즈 공식 홈페이지다양한 도메인의 개발자와 디자이너들이 한 팀을 이루어 방학기간(2개월)에 사이드 프로젝트를 진행하고 프로덕션을 만듭니다.대학생은 실력 좋은 실무진(개발자, 디자이너)과 함께 협업할 수 있는 기회를,재직자들은 스펙업 및 포트폴리오, 여러 회사 실무진들과 컨택할 수 있는 기회 등을 얻을 수 있습니다.활동 프로세스정식 활동 전 사전 아이디어 수집을 하는 프로세스가 있습니다.넥스터즈 자체 웹페이지를 통해 다양한 아이디어를 발제하고 투표를 진행해서 선발된 아이디어는 1주차 활동에서 발표를 할 수 있습니다.이어서, 정식 활동은 총 8주차 세션으로 구성되어 있습니다. 활동과 관련한 내용은 넥스터즈 공식 인..
by후기/넥스터즈··
1
JPA saveAll이 Bulk INSERT 되지 않았던 이유
실습 환경MySQL 5.7버전 사용Windows 10Entity ID 전략은 IDENTITYJava 11서론실무에서 MySQL 5.7 버전을 사용하고 있고, JPA Entity의 ID 전략은 IDENTITY를 사용하고 있는데, 이때 JPARepository를 이용한 saveAll과 save가 bulk insert로 처리되지 않는 것을 발견했습니다. 당장은 saveAll로 아주 많은 데이터를 저장할 일이 없다고 하더라도, 왜 이렇게 작동하는지 확인하고 추후에 동일한 환경에서 bulk 연산을 처리해야 할 때 유연하게 대처할 수 있어야 합니다. 따라서, 이번 기회에 상황과 원인을 파악하고 어떻게 대처할 수 있는지 알아보겠습니다. 결론만 보고 싶으시다면 하단의 “정리” 부분을 보시면 되겠습니다.작동 원리바로 결..
byTech··
3
try-with-resources와 native 영역
소개 try-with-resources 구문과 native 자원의 관계 이해 대상 독자: 초보 Java 개발자 자바 관련 스터디를 하고 있는데, 이번엔 try-with-resources와 관련된 주제로 얘길 나누었습니다. (이 주제는 이펙티브 자바, 자바의 신에서 꼭 등장하는 내용이기도 합니다) 정말 별 것 아닌 것 같지만, 해당 주제로 대화를 나누기 위해 정말 광범위하고 깊은 키워드들이 등장했었습니다. GC, JVM, JNI, native 영역, FileDescriptor 등등 기본적인 개념에 대해서는 알고 있었으나, 이들의 관계에 대해 간단하게 살펴보고 왜 try-with-resources를 쓰는지에 대해 좀 더 자세하게 알아보겠습니다. (FileDescriptor는 다른 포스팅에서 다룰 예정이라 이..
byTech··
늦다 못해 숙성되어버린 한 해 회고
서론 뒤늦게 회고글을 작성한다. 2023년엔 좀 더 바쁘게 살기 위해, 그 바쁨 속에서 유의미한 결과물을 만들어 내기 위해, 마냥 바쁘기만 했던 2022년과 2023년 2월까지를 되돌아보겠다. 또한, 대부분 실무와 관련된 이야기겠지만 중간중간 실무 외 얘기도 섞어서 적어두었다. 소개 나를 소개하며 2022년의 주요 활동 소개 응애 개발자(걸음마 중) 게임회사에 입사하여 인턴 기간을 제외하고 어느덧 10개월이 되었다. 지원 당시 자기소개서를 보면 백엔드 개발자가 되고 싶어 대용량 트래픽이 어쩌고 구구절절 적혀 있는데 지금 보면 실무를 1도 모르고 하는 소리가 그저 귀엽다. 최종 합격 후 멘토님께서 “무슨 스택을 할 지도 모르는데 덜컥 붙었다고 가는 건 성급한 결정이다”라고 말씀하시면서 많은 우려를 하셨었는..
by후기/회고··
1
불러오는 중...