가상 면접 사례로 배우는 대규모 시스템 설계 기초 - 사용자 수에 따른 규모 확장성
단일 서버 가장 단순하게 사용자의 요청을 처리할 수 있는 구조이다. 사용자: 웹 브라우저, 모바앨 앱 서버: 웹 서버 위 상황에서 요청 흐름은 다음과 같다. 사용자는 DNS에 질의하여 서버의 IP를 얻는다. 해당 IP 주소로 HTTP 요청이 전달된다. 요청 받은 웹 서버는 HTML 혹은 JSON과 같은 응답을 전달한다. ...
단일 서버 가장 단순하게 사용자의 요청을 처리할 수 있는 구조이다. 사용자: 웹 브라우저, 모바앨 앱 서버: 웹 서버 위 상황에서 요청 흐름은 다음과 같다. 사용자는 DNS에 질의하여 서버의 IP를 얻는다. 해당 IP 주소로 HTTP 요청이 전달된다. 요청 받은 웹 서버는 HTML 혹은 JSON과 같은 응답을 전달한다. ...
개요 관찰 가능성이라는 용어에는 Trace, Metric, Log를 구성하는 도구의 원격측정(telemtry) 데이터를 생성/수집함으로써 소프트웨어 작동의 가시성을 높이는 작업이 포함된다. 수신된 요청 수의 카운트 유지하기 이벤트 발생 시 로그 추가하기 서버의 현재 메모리 사용량 기록하기 Client → Backend 서비스까지의 ...
참고자료 KIP-480 StickyPartitioner KIP-429 살짝 관련성은 떨어지지만 Consumer Rebalance 관련 배경 카프카는 컨슈머 그룹내의 컨슈머들에 파티션을 배정하는 할당 전략이 있다. 컨슈머 그룹이 어떤 토픽을 바라보고 있을 때 토픽 내의 파티션들을 각 컨슈머들에게 어떻게 나눠줄지에 대한 알고리즘이다. 이...
참고 자료 Kafka Producer Internal 실전 카프카 개발부터 운영까지 - 프로듀서 내부 동작 원리 토리맘의 한글라이즈 - Producer Config Kafka Consumer Internal 실전 카프카 개발부터 운영까지 - 컨슈머 내부 동작 원리 ...
1. 프로세스와 쓰레드의 차이점 프로세스 프로세스는 디스크에 있는 프로그램이 실제 메모리에 할당되어 실행 중인 작업을 나타낸다. 운영체제는 프로세스가 생성되면 PCB를 통해 해당 프로세스의 정보를 관리하는데 PCB가 담고있는 정보는 아래와 같다. PID Process의 상태 PC 레지스터 스택 포인터 등… 이 정보들이 필...
1. 브라우저에 HTTP 입력하면 일어나는 일(OSI 7 Layer || TCP/IP 4 Layer) 2. TCP/UDP 특징 TCP (Transfer Controller Protocol) Server-Client구조에서 사용되는 연결 지향형 프로토콜로 HTTP 1, 2버전에 적용된 프로토콜이다. 연결/연결해제 시 사용되는 N-way ...
1. Nginx 설치 yum install nginx 2. 서버 블록 추가 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { work...
실습 템플릿 위 레포지토리가 구축하고자하는 환경은 각기 다른 온프레미스 서버 인스턴스에 카프카를 KRaft모드로 띄우고 CDC를 구축하는 것이다. 따라서 각 노드에는 Controller, Broker, Connect 총 3개의 프로세스가 동작하는 환경을 구축한다. Step 1. MSSQL 접속 및 데이터베이스, 스키마, 테이블 생성 S...
참고자료 Apache Kafka 공식문서 CONFLUENT 공식문서 DEVOCEAN Baeldung KRaft, Zookeeper기반으로 카프카 기동시키기 KRaft(Kafka Raft Metadata mode) 배경 및 개요 KRaft 동작 방식 KRaft 구성 방식 별도의 Controll...
참고 자료 참고 자료 IBM ElasticSearch Document ElasticSearch 개요 ELK Stack의 E를 담당한다. E: ElasticSearch로 JSON 기반의 저장소 및 검색엔진을 담당한다. L: Logstash로 Input Data, 데이터 변환을 수행하고 Stash하는 역할을...