DB 스키마 형상을 소스 코드가 아닌 DB 테이블로 관리하기 위한 툴로 flyway를 많이 사용한다.
flyway
flyway의 동작 방식과 관련해선 여기를 참고하면 이해하기 수월하다.
그리고 여기를 참고했을 때 DB 스키마에 변경사항이 생겼지만 스크립트 파일을 누락한 경우 애플리케이션이 실행되지 않는 불상사가 발생하여 주의해야 한다고 한다.
서버 모니터링 및 장애대응시 tomcat threadpool과 hikaricp 관련 메트릭은 중요한 요소다. (경험상 두 메트릭 지표 관련 장애를 몇번 겪었기에 더 뼈저리게 느끼고 있다) 이번 포스팅에선 AWS ECS 환경에서 스프링부트의 actuator 를 활용하여 DataDog 에 커스텀 메트릭을 연동했던 트러블슈팅 과정을 기록하고자 한다. 실...
운영중인 서비스에 새로운 버전을 배포할 때 이상적인 방법으로 카나리 배포를 알게 되었다. 수 많은 클라이언트들이 사용중인 상황에서 배포하는 가장 이상적인 방법이라 한다. 카나리 배포는 흔히 단계별 배포 또는 점진적 배포라 불리었다. 기존 서버로 들어오는 트래픽을 10%, 20%, 30% 조금씩 신규 서버로 옮긴다. 조금씩 트래픽을 옮기면서 이슈 사항...
디버깅이란? 디버깅의 뜻은 프로그램 실행 시 문제를 일으키는 오류, 즉 ‘버그’를 찾아 해결하는 과정을 의미한다. 이 버그는 크게 문법적 오류와 논리적 오류로 분류할 수 있다. 문법적 오류는 말 그대로 프로그래밍 언어의 문법에 맞지 않는 코드가 있을 경우 발생하며 대체로 IDE로 해결할 수 있기에 디버깅이 쉬운편이다. ...
[MSA] Kafka 도메인 이벤트 순서 보장하기
클린코드 내용 정리