Backend & 인프라 4

[Nginx] 로드 밸런싱(Load balancing)

오늘은 로드 밸런싱(Load balancing)에 대해 알아 보도록 하자. 🧙 우리의 목표!! ✅ 단일 서버 개념 🔎 위와 같이 FastAPI 서버 가 한개라면 한곳에 부하가 걸리겠져 이떄 부하를 Load라고 합니다. 위 그림처럼 사용자가 늘어서 서버가 힘들어 하겠져 이러한 부하를 고르게(Balance) 분배 하려면 Load Balancing를 하면 됩니다. 👉👉 소스코드는 이전 글인 [FastApi] CPU를 많이 사용하는 APP 만들기 (CPU Bound) 👉👉 Git Actions는 이전 글인 [Git Actions] SSH으로 배포하기 ⚡ 실습 1(Nginx로 Load Balancing) nginx를 설치 하셨을 경우 설정 파일 경로 : sudo vi /etc/nginx/nginx.conf ups..

Backend & 인프라 2022.07.05

[Git Actions] SSH으로 배포하기

SSH 비밀번호 아이디 접속을 통해 배포 하는 방법에 대해 다루겠습니다 ✅ 공식문서 🔎 😇 항상 공식 문서가 중요한 법 입니다.!! 👉 공식 홈페이지, 공식 문서 GitHub Actions Documentation - GitHub Docs Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. You can discover, create, and share actions to perform any job you'd like, including CI/CD, and combine actions in a completely customized wo docs.gi..

Backend & 인프라 2022.07.04

[FastApi] CPU를 많이 사용하는 APP 만들기 (CPU Bound)

cpu를 많이 사용하는 APP을 만들기 전에 개념을 이해고 진행할 필요가 있다. ✅ 개념 1 🔎 🌈 프로그램과 프로세스의 차이 하드디스크에 있는 프로그램이 메모리에 올라갑니다. 그때부터 이것은 프로세스라고 합니다. ✅ 개념 2 🔎 🌈 I/O Burst vs CPU Burst 📌 한 프로세스 실행 도중, I/O를 하는 시간을 I/O 버스트라고 합니다. 🩹 여기서 I/O란 "네트워크 통신 POST, GET...", "사용자 키보드 입력" 등을 이야기합니다. 📌 CPU에서 실행되는 시간을 CPU 버스트라고 합니다. ✅ 개념 2 🔎 🌈 I/O Bound vs CPU Bound 📌 전체적으로 I/O를 많이 하는 APP 이면 I/O Bound라고 하며 📌 CPU를 많이 사용하는 APP 이면 CPU Bound라고 합..

Backend & 인프라 2022.06.30

[Docker] Permission Denied

Error Message 👊👊👊 "Permission denied" 즉 권한이 없다는 뜻이다. 😡😡 해당 문제는 사용자가 /var/run/docker.sock을 접근하려고 하였지만 권한이 없어 사용자가 root:docker 권한을 가지고 있어야 함. 💨 0 해결 방식에 대한 이해 👉 docker 관련 명령어를 사용하는 도커 데몬은 Unix 소켓을 통해 실행한다. 위의 에러에서도 볼 수 있는 var/run/docker.sock 파일이다. 👉 해당 소켓 파일은 root 사용자의 소유권한으로 기본설정되어 있고, 이에 sudo 권한으로 실행되어야 한다. 기존 sudo 권한으로 실행해야하는 docker 소켓을 일반 사용자가 사용할 수 있는 권한을 부여하는 과정이다. 아래 블로그의 글귀를 참고하였습니다. 👍 htt..

Backend & 인프라 2022.06.30