티스토리챌린지21 지리적 라우팅 설계 ✍ Posted by Immersive Builder Seong 지리적 라우팅지리적 라우팅(geo-routing)이란 사용자의 지리적 위치에 따라 가장 가까운 데이터 센터로 트래픽을 전달하는 라우팅 방식을 말합니다. GeoDNS는 사용자의 IP 주소를 기반으로 위치를 추정하여 가장 가까운 서버의 IP 주소로 도메인을 변환하는 작업을 수행합니다. 지리적 라우팅을 제공하는 서비스로는 AWS Route 53, Cloudflare Load Balancing, Akamai Edge DNS 등이 있습니다. 동작 원리아래 아키텍처는 지리적 라우팅을 기반으로 서울과 도쿄 2개의 데이터 센터를 설계한 예시입니다. 사용자가 도메인으로 접속합니다.GeoDNS가 사용자의 IP 주소를 분석하여 사용자의 위치를 파악합니다. .. 2024. 11. 15. [K8s] Helm 이란? ✍ Posted by Immersive Builder Seong Helm헬름(Helm)은 어플리케이션을 배포하고 실행하기 위해 필요한 쿠버네티스 리소스들을 하나의 패키지로 관리하는 도구입니다. 쿠버네티스 인그레스(Ingress), 서비스(Service), 컨피그맵(ConfigMap), 시크릿(Secret) 등의 리소스를 패키징하는 것이 대표적입니다. 마치 리눅스 환경에서 YUM 또는 DNF가 하는 역할과 유사합니다. 헬름을 사용하면 클러스터에 복잡한 어플리케이션을 설치하고 관리하는 작업을 자동화할 수 있습니다. 대부분의 벤더사들이 자사 어플리케이션을 헬름으로 패키징하여 제공하고 있습니다. 주요 개념차트(Charts)헬름 차트는 헬름을 배포하는 기본 단위입니다. 어플리케이션 설치 및 구성에 필요한 모든.. 2024. 11. 14. [K8s] JSON Path ✍ Posted by Immersive Builder Seong JSON PathJSON Path는 JSON 데이터를 파싱하기 위한 쿼리 언어입니다. JSON 구조 내 특정 데이터의 위치를 지정하거나 필터링하여 원하는 값을 추출할 수 있습니다. 특히, JSON 파일이 복잡한 구조로 이루어져 있을 때 유용합니다. 기본 문법 JSON Path의 주요 문법은 아래와 같습니다. 기호설명$JSON의 최상위 객체인 루트(root)를 의미합니다. .점 표기법을 통해 JSON 객체의 특정 키에 접근합니다. [ ] 리스트의 특정 인덱스 또는 모든 항목에 접근합니다...특정 키를 JSON 구조에서 재귀적으로 검색합니다.?( )필터 조건을 사용하여 특정 값을 필터링합니다.@리스트의 각 항목을 나타냅니다.*와일드카드로.. 2024. 11. 13. [K8s] YAML 이란? ✍ Posted by Immersive Builder Seong YAML(YAML Ain't Markup Language)YAML은 주로 설정 파일을 작성하거나 데이터를 직렬화하기 위해 사용하는 데이터 포맷입니다. 사람이 읽기 쉽고 구조가 단순하여 JSON 또는 XML과 같은 데이터 포맷을 대신하여 많이 사용합니다. 특히, 쿠버네티스 환경에서 운영 관리를 위해 기본으로 사용하는 데이터 포맷이기도 합니다. YAML 주요 특징가독성 : 들여쓰기와 간단한 구문으로 구성되어 사람이 읽기 쉽습니다. 데이터 구조 : 스칼라(scalar), 리스트(list), 딕셔너리(dictionary) 등의 데이터 구조를 지원하여 복잡한 데이터를 쉽게 표현합니다. 설정 파일 : 쿠버네티스, 앤서블, 도커 등 여러 환경에서 .. 2024. 11. 12. 확장성을 고려한 데이터베이스 설계 방안 ✍ Posted by Immersive Builder Seong 데이터베이스 규모 확장데이터가 지속적으로 쌓이면 데이터베이스에 대한 부하가 증가하므로 데이터베이스의 규모를 확장해야 합니다. 데이터베이스의 규모를 확장하기 위한 방안으로 두 가지를 고려해볼 수 있습니다. 첫 번째는 스케일 업을 이용한 수직적 규모 확장 방안이고, 두 번째는 샤딩을 이용한 수평적 규모 확장 방안입니다. 스케일 업은 데이터베이스의 리소스를 증설하여 더 많은 양의 데이터를 저장하고 처리할 수 있습니다. 그러나 하드웨어의 한계가 존재하고 검색 요청에 대한 처리 속도가 느려지는 문제점이 발생합니다. 이러한 문제점을 해결하고자 모색한 접근 방법이 바로 샤딩입니다. 샤딩(Sharding)샤딩은 대규모 데이터베이스를 샤드라고 하는 작.. 2024. 11. 11. 메시지 큐 ✍ Posted by Immersive Builder Seong 메시지 큐(Message Queue)메시지 큐는 서비스 또는 서버 간 통신 시 메시지를 큐에 보관하여 비동기 통신을 지원하는 컴포넌트입니다. 메시지 큐 아키텍처에는 3가지 중요한 컴포넌트가 있습니다. 생산자(producer/publisher)는 메시지를 생성하여 메시지 큐에 전달하는 역할을 합니다. 메시지 큐(Message Queue)는 생산자로부터 메시지를 전달받아 소비자가 사용할 때까지 보관하는 역할을 합니다. 소비자(consumer/subscriber)는 메시지 큐에서 순차적으로 메시지를 가져와 처리하는 역할을 합니다. 메시지 큐를 이용하면 생산자와 소비자 간의 결합도를 낮추어 안정적인 서비스를 구성하기 용이합니다. 생산자 프로세스와.. 2024. 11. 10. 이전 1 2 3 4 다음