본문 바로가기

나의 IT 기억21

동료에게 배운 새로운 기술: NGINX 트래픽 미러링으로 안전한 마이그레이션 하기 오늘 팀 회의에서 마이그레이션 전략을 논의하다가 한 젊은 동료가 흥미로운 이야기를 꺼냈다. "NGINX에 트래픽 미러링 기능이 있어서 실제 서비스에 영향 없이 새 버전을 테스트할 수 있어요."처음엔 "응? 미러링?"이라며 반문했지만, 설명을 들어보니 정말 실용적이고 강력한 기능이었다. 나이가 들수록 젊은 친구들로부터 배울 게 참 많다는 걸 새삼 느끼게 된다.🤔 NGINX 미러링이 뭔데?간단히 말하면, 들어오는 HTTP 요청을 원본 서버로 보내면서 동시에 복사본을 다른 서버로도 보내는 기능이다. 중요한 건 클라이언트는 원본 서버의 응답만 받는다는 점이다.클라이언트 → NGINX → 메인 서버 (클라이언트에 응답) ↓ 테스트 서버 (복사본 수신, 응답 무.. 2025. 5. 24.
MySQL에서 PostgreSQL로의 실시간 데이터 동기화 시스템 구축기 MySQL에서 PostgreSQL로의 실시간 데이터 동기화 시스템 구축기프로젝트 배경과 필요성최근 회사에서 레거시 MySQL 시스템을 PostgreSQL로 전환하는 대규모 마이그레이션 프로젝트를 진행하게 되었습니다. 단순히 한 번에 데이터를 옮기는 것이 아니라, 서비스 중단 없이 점진적으로 전환해야 하는 상황이었기 때문에 실시간 데이터 동기화가 필수적이었습니다.처음에는 "그냥 배치로 주기적으로 복사하면 되지 않을까?"라고 생각했지만, 실제로는 그렇게 간단하지 않았습니다. 실시간성이 중요한 주문 시스템과 사용자 데이터를 다루고 있었기 때문에, 데이터 지연이나 불일치가 발생하면 비즈니스에 직접적인 영향을 미칠 수 있었거든요.기술 선택의 고민여러 가지 옵션을 검토해봤습니다:1. 직접 구현한 ETL 스크립트장점.. 2025. 5. 24.
MySQL CDC to MySQL Demo - KOREA 이 프로젝트는 Apache Flink의 오픈소스 CDC(Change Data Capture) 커넥터를 사용하여 MySQL에서 MySQL로 실시간 데이터 동기화를 구현한 데모입니다. 로컬 MySQL에서 Google Cloud MySQL, Amazon RDS 등 다양한 MySQL 호환 데이터베이스로의 동기화도 지원합니다.프로젝트 정보기반 기술: Apache Flink (오픈소스)CDC 커넥터: Flink CDC Connector (오픈소스)라이선스: Apache License 2.0GitHub 저장소: Flink CDC지원되는 대상 데이터베이스로컬 MySQLGoogle Cloud SQL for MySQLAmazon RDS for MySQLAzure Database for MySQL기타 MySQL 호환 데이터.. 2025. 5. 23.