운영 환경 오픈 후, 속도가 급격히 저하되거나 쿼리 조회가 멈추는 현상이 발생했습니다. 이를 모니터링하면서 문제가 심화되는 것을 확인했고, 이에 따라 원인을 분석하고 해결책을 모색하게 되었습니다. 함수와 배치에서의 쿼리 조회 방식을 변경하여 성능을 크게 개선할 수 있었습니다. 이번 글에서는 제가 진행한 함수 및 쿼리 최적화 과정을 공유하려고 합니다. 문제 분석 및 원인 파악운영 환경에서 배치 작업 중 속도 저하와 조회 멈춤 현상을 겪으면서, 먼저 시스템의 성능을 모니터링하며 문제의 원인을 분석했습니다. 조회 대상은 약 200건 정도였으며, 상태가 '전송완료'인 건들 중 '상태 전송대상'으로 변경된 값들을 조회하는 쿼리였습니다. 이때 대상 건들이 많아지면서 조회 속도가 급격히 떨어지거나, 아예 멈추는 현..
분류 전체보기
Docker Swarm에서 비밀번호를 안전하게 관리하는 방법: Docker Secrets 사용법 Docker Swarm 환경에서는 env 파일로 민감한 정보를 관리하는 것에 제한이 있습니다. 특히, 패스워드와 같은 정보는 명령문으로 선언할 수도 있지만, 보안을 위해 Docker Secrets을 활용하여 관리하는 것이 좋습니다. 이 글에서는 Docker Secrets를 사용해 비밀번호를 안전하게 저장하고 사용하는 방법을 설명합니다. 1. Docker Secrets를 사용해 비밀번호 관리하기Docker Secrets는 Docker Swarm에서 민감한 정보를 보호하는 방법으로, docker secret create 명령어를 사용하여 비밀번호 등의 중요한 데이터를 안전하게 관리할 수 있습니다. 아래의 단계..
Traefik에서 Let's Encrypt 인증서 발급 문제 해결 및 대시보드 활성화최근 Traefik 설정 중 Let's Encrypt 인증서 발급 문제를 겪었습니다. 이 문제로 인해 Traefik 대시보드가 정상적으로 표시되지 않았으나, 몇 가지 디버깅을 통해 문제를 해결할 수 있었습니다. 이 글에서는 제가 경험한 문제와 해결 과정을 공유합니다. 문제 상황 Traefik 설정에서 Let's Encrypt 인증서를 사용하도록 설정했으나 대시보드에 접근할 수 없었습니다.로그에서 다음과 같은 메시지를 반복적으로 확인했습니다:인증서가 정상적으로 발급되지 않았고, Traefik 대시보드가 로드되지 않는 문제가 발생했습니다.No ACME certificate generation required for domai..
두 가지 구조(Map.Entry와 Pair)의 사용을 비교할 때, 주로 재사용성, 가독성, 그리고 유연성 관점에서 차이가 발생합니다. 1. 재사용성 측면Map.Entry:Map.Entry는 맵의 키-값 쌍을 표현하기 위한 인터페이스로, 맵에서 엔트리를 추출할 때만 사용됩니다.맵 외부에서 이 객체를 사용하기엔 부자연스러우며, 별도로 엔트리 인터페이스를 재사용하는 경우가 드뭅니다.Pair:Pair는 맵 외부에서도 활용 가능한 일반적인 데이터 구조입니다.데이터베이스 쿼리 결과, API 응답 데이터, 또는 임시 데이터 조작 등 다양한 상황에서 유연하게 사용할 수 있습니다.// Map.Entry는 map.entrySet()에서만 유효한 형태Map.Entry entry = map.entrySet().iterato..
해당 게시글은 하이버네이트 공식문서를 읽으면서 정리해 놓은 글이다. https://docs.jboss.org/hibernate/orm/6.6/quickstart/html_single/#modules Getting Started with HibernateHibernate is an Object/Relational Mapping (ORM) solution for programs written in Java and other JVM languages. While a strong background in SQL is not required to use Hibernate, a basic understanding of its concepts is useful - especially the principles ofd..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.