Jenkins Jenkins CI/CD의 장점 Jenkins는 오픈소스 CI/CD 도구로 다양한 플러그인과 함께 빌드 자동화 기능을 제공합니다. 우리의 소스코드는 GitHub나 GitLab에서 관리되고 Jenkins에서는 WebHook 이벤트를 통해 CI/CD가 가능합니다. 다양한 설정 옵션을 제공하며 팀의 요구사항에 맞게 자유롭게 구성할 수 있습니다. Jenkins CI/CD의 단점 Jenkins를 위한 별도의 서버와 설치 번거로움이 존재합니다. CI/CD를 담당하는 별도의 서버가 필요하며 설치 시 Context Path 문제로 Nginx의 Reverse Proxy가 제대로 동작하지 않는다는 문제와 다양한 플러그인 설치 등 해야 할 작업들이 많았습니다. 배포 스크립트 문법 배포 파이프라인 작성을 위해 ..
Redis Sentinel Redis 공식문서에는 다음과 같이 소개되고 있다. High availability with Redis Sentinel for non-clustered Redis 한글로 직역하자면 Redis Cluster를 사용하지 않을 때 Redis에 고가용성을 제공한다라는 뜻이다. 지난 포스팅때에는 Redis Replication(Redis 복제)에 대해 설명하였는데 거기에 HA의 개념을 덧붙였다고 생각하면 된다. Sentinel 기능의 전체 목록 모니터링 마스터 및 Replication 인스턴스가 예상대로 작동하는지 지속적으로 확인 알림 모니터링되는 Redis 중 문제가 있음을 API를 통해 알릴 수 있다. 자동 장애 조치 예상대로 작동되지 않는 경우 Replication를 Master로..
Redis는 Remote Dictionary Server의 약자로서, "Key - Value" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템이다. 인 메모리 데이터 구조를 가진 저장소이다. 즉, 휘발성을 가진 데이터베이스 이므로 MySQL과 같은 RDBMS와 다르게 데이터베이스를 종료시키면 메모리에 있는 데이터는 다 사라지게 된다. 그래서 Redis를 사용할 때에는 HA(고가용성)에 대한 의문을 항상 가져야 하는데 Redis는 이런 부분을 다양한 기능을 통해 지원을 하고 있다. Redis Replication Redis가 복제를 통해 고가용성 및 장애 조치를 지원하는 방법 복제본 Redis Replication은 사용 및 구성이 간편한 리더의 Follo..
EC2에 Docker를 이용한 Nginx 컨테이너 구축하기 이것저것 패키지를 설치하여 EC2를 더럽히고 싶지 않았기에 Docker를 통한 Nginx 컨테이너를 구축하고 설정을 해보려고 한다. 일단 Nginx에 대해 알아보자! 전에 한번 Nginx와 로드밸런싱에 대해 블로그 포스트를 한적이 있다. 정리한 글은 아래 링크를 한번 보시오! https://doreree.tistory.com/9 로드밸런싱 (Road Balancing) 먼저 로드밸런싱이란?? 서버가 처리해야 할 업무 또는 요청(Load)을 여러 대의 서버로 나누어(Balancing) 처리 많은 트래픽을 대처하는 방법 Scale Up : 기존 서버의 성능을 높인다. (비용이 증가) Scale Ou doreree.tistory.com Nginx 오픈..