본문 바로가기

오블완7

[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.
콘텐츠 전송 네트워크 설계 ✍ Posted by Immersive Builder  Seong 콘텐츠 전송 네트워크(CDN)CDN(Content Delivery Network)은 인터넷 사용자에게 콘텐츠를 전송하기 위해 사용하는 지리적으로 분산된 서버의 네트워크를 말합니다. CDN을 사용하면 웹 서비스를 통해 제공되는 다양한 콘텐츠를 캐시하여 사용자에게 빠르게 전송하고 원본 서버의 부하를 줄일 수 있습니다. 또한 사용자가 집중되는 경우에는 여러 CDN 서버로 부하를 분산하여 안정적인 서비스를 제공합니다.   ※ 캐시 vs CDN ?캐시는 일시적으로 콘텐츠를 보관하는 저장소의 개념이고, CDN은 콘텐츠를 캐시하여 제공하는 네트워크의 개념입니다.  콘텐츠의 특성에 따라 정적 콘텐츠 캐싱과 동적 콘텐츠 캐싱으로 구분합니다. 콘텐츠 캐싱을.. 2024. 11. 9.
캐싱 전략 ✍ Posted by Immersive Builder  Seong 캐시(Cache)캐시는 연산 결과 또는 자주 참조하는 데이터를 메모리에 복사하여 이후 요청을 빠르게 처리하는 저장소입니다. 사용자가 브라우저를 통해 웹 페이지에 접근할 때마다 웹 서버는 데이터베이스로부터 필요한 데이터를 가져와 화면에 표시합니다. 어플리케이션의 성능은 데이터베이스를 얼마나 자주 호출하느냐에 따라 달라집니다. 웹 서버와 데이터베이스 사이에 캐시 계층을 구성함으로써 원본 데이터베이스 서버를 호출하는 빈도수를 줄이고 성능을 개선할 수 있습니다.   캐싱 전략(Caching Strategy)캐시의 사용 빈도, 데이터 접근 패턴, 일관성 등 각기 요구사항에 따라 여러가지 캐싱 전략을 구상할 수 있습니다. 대표적인 캐싱 전략으로는 C.. 2024. 11. 8.
확장성을 고려한 시스템 설계 방안 ✍ Posted by Immersive Builder  Seong 스케일 업(scale-up)스케일 업은 서버의 리소스가 부족한 경우 CPU, RAM, DISK 등 리소스를 서버에 추가하는 수직적 규모 확장 프로세스를 말합니다. 서버로 유입되는 트래픽의 양이 적을 때 고려해 볼 수 있고, 필요한 만큼의 리소스를 증설하여 성능을 개선합니다. 특히, 클라우드 환경에서 콘솔의 원클릭으로 스케일 업 기능을 지원하므로 좋은 선택지가 될 수 있습니다. 그러나 스케일 업 방식에는 아래와 같은 치명적인 단점이 존재합니다.   CPU/MEM를 무한대로 증설할 수 없습니다. 스케일 업 과정에서 다운타임이 발생할 수 있습니다.   *다운타임: 시스템을 이용할 수 없는 시간자동복구(fail-over)와 다중화(redundan.. 2024. 11. 7.