전체 글

인생 뭐 있나 사람 사는거 다 똑같지
2년간 운영하던 서버의 디스크 160GB 까지 가득 차는 문제가 발생했다. 문제의 원인으로는 2가지가 있다. 1. Docker Registry 서버를 Private 으로 운영했기 때문에 Docker Image 가 너무 많았다. 2. SMTP 서버를 구축해 놓았기 때문에 Log 가 너무 많았다. 그간 디스크가 90프로 정도 찰 때마다 불필요한 이미지를 정리하고 logrotate 을 통해 로그를 관리하였고 마지막 영혼을 불태워 Docker Registry 서버를 가성비 좋은 S3 로 이전하려 했으나 디스크가 기다려주지 않아 서버를 확장하게 되었다. 아래는 마지막 순간까지 살아 있던 내 서비스들이다. ****@vps-*****:~$ ll drwxrwxr-x 6 **** **** 4096 May 14 2023 ..
Master-Slave Replication 이란 MySQL Master-Slave Replication 은 데이터베이스의 한 인스턴스에서 다른 인스턴스로 데이터베이스를 복제하는 하나의 방식이다. Master-Slave Replication 을 통해 3가지의 이점을 얻을 수 있다. 데이터의 일관성을 유지 데이터 백업 시스템의 부하 분산 Amazon RDS, Google Cloud SQL, Azure Database for MySQL 등에서도 이러한 기능을 제공해주고 있다. Docker & Docker Compose 이란 Docker와 Docker Compose는 이러한 Replication 를 설정하고 관리하는 데 사용할 수 있는 오케스트레이션 도구이다. MySQL Master-Slave Replicat..
페이지네이션 페이지네이션은 대량의 데이터를 작은 일부분으로 분할하여 사용자에게 보여주는 방식이다. 이를 통해 사용자는 한번에 모든 데이터를 로드하지 않고도 필요한 만큼의 데이터만 로드하여 랜더링할 수 있다. 페이지네이션을 사용할 경우 서버와 클라이언트 간의 트래픽 부하가 감소하여 클라이언트는 빠르게 데이터를 전달받을 수 있고 이로 인해 적절량의 데이터를 화면에 랜더링할 수 있다. 이러한 과정속에 불필요한 리소스를 줄여 서버 비용을 절감시킬 수 있으며 사용자는 대기 시간 없이 빠르게 화면을 볼 수 있어 사용자 경험에도 좋다. 페이지네이션을 하지 않을 경우 대량의 데이터를 다루는 경우, 모든 데이터를 한 번에 불러오 경우 성능에 부정적인 영향을 줄 수 있다. 이는 서버 리소스 비용 증가와 네트워크 대역폭을..
리눅스를 설치하면 기본 호스트네임은 localhost.localdomain 가 된다. 리눅스 장비를 식별하기 위해 hostnamectl 을 통해 서버마다 호스트네임을 지정할 수 있다. 호스트네임 지정을 통해 docker-swarm 설정을 진행할 때 호스트 구분하기가 쉬워진다. 호스트네임 확인 hostnamectl 은 시스템의 호스트네임을 관리할 수 있는 명령어로 옵션없이 사용하거나 status 옵션을 주면 현재 정보를 출력한다. 터미널에 hostnamectl 을 입력하면 다음과 같은 결과를 확인할 수 있다. ubuntu@server-no1:~$ hostnamectl Static hostname: server-no1 Icon name: computer-vm Chassis: vm Machine ID: d78..
귀찮은 개발자
귀찮은 개발자의 이중생활