728x90
반응형
일관성 해시 (Consistent Hashing)1. 일반 해시 문제점서버에 부하를 균등하게 나누기 위해 '키 % 서버 개수' 방식을 사용한다.서버 인덱스 = 해시(키) % 서버 개수이 방식은 서버 수가 고정된 상태에서 데이터가 균등하게 분포되도록 작동함.예를 들어 서버가 4대 있을 때:키5 → 해시값 511 → 511 % 4 = 서버3키0 → 해시값 401 → 401 % 4 = 서버1 문제점서버가 추가되거나 제거되면 대부분의 키가 재배치되어 성능 저하가 발생한다.서버가 추가되거나 삭제되면 기존 해시 값이 변경된다.서버가 4대에서 3대로 줄어들면 해시 % 3으로 계산되므로, 기존 키 대부분이 새로운 서버로 재배치됨.키 재배치로 인해 데이터 이동량이 많아지고 시스템 성능이 저하된다.데이터 유실 가능성: 복..
마이크로 서비스(Micro Service)마이크로서비스는 애플리케이션을 작은 독립된 서비스들로 나누어 개발하고 운영하는 아키텍처 스타일이다.각 서비들은 독립적으로 배포되고 실행되며, 고유한 비즈니스 기능을 수행한다. 이들은 보통 REST API, 메시지 브로커 등을 통해 상호작용하며, 서로 다른 기술 스택을 사용할 수도 있다.마이크로서비스의 주요 장점은 확장성과 독립적인 개발 가능성이다.각 서비스가 독립적으로 확장 가능하고, 특정 서비스에 문제가 생겨도 다른 서비스에 영향을 최소화할 수 있다. 1. 마이크로 서비스 개발 흐름바이너리 → 도커 이미지 → 컨테이너 레지스트리에 이미지 푸시 → 헬름 차트 작성 → 쿠버네티스 클러스터 배포언어나 프레임워크를 이용해서 개발한 소스를 Makefile로 빌드하여 바이..
Auto Scaling (오토 스케일링)💡 Auto Scaling이란? Auto Scaling은 시스템 부하 상황에 따라 리소스를 자동으로 유연하게 조정하는 기능이다. 쿠버네티스도 클라우드 네이티브 도구로서 오토 스케일링 기능을 제공한다. 1. Cluster Autoscaler를 이용한 데이터 플레인(워커 노드) 오토 스케일링주요 기능클러스터 오토스케일러는 데이터 플레인(Data Plane, 워커 노드) 인스턴스에 대한 오토 스케일링을 지원한다.발견적 오토 스케일링(Heuristic Autoscaling) 방식을 사용하며, 파드의 리소스 요청 값을 기준으로 동작한다.작동 원리새로운 파드를 배포하려고 할 때 요청한 CPU 리소스와 메모리 리소스가 부족하면, 그 파드는 Pending 상태가 된다..
오픈스택 핵심 컴포넌트 및 서비스 설계클라우드 기술이 발전하면서 OpenStack은 기업과 기관에서 프라이빗 클라우드를 구축하기 위한 주요 솔루션으로 자리 잡았다.OpenStack은 다양한 컴포넌트와 서비스를 통해 유연하고 확장 가능한 클라우드 환경을 제공한다.이번 글에서는 클라우드 서비스의 개념적인 구조와 이를 바탕으로 클라우드 플랫폼 설계 방안, 오픈스택의 핵심 컴포넌트들에 대해 알아보겠다. 1. 클라우드 서비스의 개념적인 구조클라우드 포털: 사용자 포털 & 운영자 포털 (가상 머신 관리, 서비스 관리, 사용자 관리, 대시보드, 요금 관리)클라우드 플랫폼: 오픈 스택, 클라우드 스택, 시스템 스택 (클라우드 관리, 이미지 관리, 모니터링, 과금 관리, 용량 관리)가상화 계층: 하이퍼바이저 (서버 가..
1. AWS EC2 인스턴스 만들기jenkins 실습을 하다가 인스턴스 cpu와 용량이 모자라서 인스턴스를 새로 만들었다.cpu는 2개, 용량은 20GiB로 생성했는데, 이건 프리티어가 아니라서 나중에 청구서로 과금폭탄 맞지 않으려면,, 예산을 설정하고 알림을 받는 것이 좋다.OS 이미지: 우분투가상 서버 유형: t2.medium (프리티어X)스토리지(볼륨): 20GiB (프리티어X)키 페어 유형: rsa형식: .pem으로 생성보안그룹 설정웹 서버를 생성하는 경우에는 HTTPS와 HTTP 트래픽을 허용해줘야 한다.2. 결제 및 프리티어 사용 알림 생성하기인스턴스를 생성한 후에, 결제 및 프리티어 사용 알림을 생성한다.결제 알림을 생성하면 과금 폭탄을 예방할 수 있다.CloudWatch를 사용하는 경우, ..
Load Balancer클라우드 환경에서 로드 밸런서는 서비스의 안정성과 확장성을 보장하는 핵심 요소로 매우 중요하다.이번 글에서는 로드밸런서의 부하 분산 방법과 헬스체크에 대해 알아보겠다. 1. 부하 분산서비스 규모가 커지면 물리적 또는 가상 서버 한 대로는 모든 요청을 감당할 수 없게 된다. 설사 하나의 서버가 모든 요청을 처리할 수 있다고 해도 이는 단일 장애점(SPoF)이 되며, 이 경우 해당 서버에 문제가 발생하면 전체 서비스에 큰 영향을 미치게 된다. 이를 방지하고 서비스의 가용성을 높이기 위해, 일반적으로 하나의 서비스는 두 대 이상의 서버로 구성되며 각 서버의 IP도 다르게 설정한다. 다수의 서버가 있을 때 특정 서버에 장애가 발생하면 전체 사용자가 아닌 해당 서버와 연결된 일부 사용자에게..