DB 스키마 형상을 소스 코드가 아닌 DB 테이블로 관리하기 위한 툴로 flyway를 많이 사용한다.
flyway
flyway의 동작 방식과 관련해선 여기를 참고하면 이해하기 수월하다.
그리고 여기를 참고했을 때 DB 스키마에 변경사항이 생겼지만 스크립트 파일을 누락한 경우 애플리케이션이 실행되지 않는 불상사가 발생하여 주의해야 한다고 한다.
운영중인 서비스에 새로운 버전을 배포할 때 이상적인 방법으로 카나리 배포를 알게 되었다. 수 많은 클라이언트들이 사용중인 상황에서 배포하는 가장 이상적인 방법이라 한다. 카나리 배포는 흔히 단계별 배포 또는 점진적 배포라 불리었다. 기존 서버로 들어오는 트래픽을 10%, 20%, 30% 조금씩 신규 서버로 옮긴다. 조금씩 트래픽을 옮기면서 이슈 사항...
디버깅이란? 디버깅의 뜻은 프로그램 실행 시 문제를 일으키는 오류, 즉 ‘버그’를 찾아 해결하는 과정을 의미한다. 이 버그는 크게 문법적 오류와 논리적 오류로 분류할 수 있다. 문법적 오류는 말 그대로 프로그래밍 언어의 문법에 맞지 않는 코드가 있을 경우 발생하며 대체로 IDE로 해결할 수 있기에 디버깅이 쉬운편이다. ...
로드 밸러서란? 부하 분산을 위해 가상 IP를 통해 각 서버에 Request를 분배하는 기능 즉, 대용량 트래픽을 장애없이 처라히기 위해 여러 대의 서버에 적절히 트래픽을 분배해주는 기능 로드 밸런서의 예시 다음 그림과 같이 Request A~F는 로드 밸런서 알고리즘에 의해 적절하게 분배된다. 만약 라운드 로빈 방식으로 분배된...
[MSA] Kafka 도메인 이벤트 순서 보장하기
[클린코드] Chapter5-형식 맞추기