본문 바로가기

Infrastructure

(3)
Kubernetes Makefile을 읽으며 배우는 GNU make GNU makeGNU make는 복잡한 빌드 과정을 하나의 진입점(entry point)으로 관리하는 도구이다.make 명령을 실행하면 현재 디렉터리의 Makefile(또는 makefile)을 읽고, 정의된 규칙에 따라 필요한 명령을 실행한다. 실습"Hello, World"를 출력하는 간단한 Go 프로그램을 작성한다.다음과 같은 Makefile을 작성한 후 make를 이용하여 프로그램을 실행하고 빌드해본다.https://github.com/vvalvvizal/Go_study/tree/master/makefilerun: go run main.gobuild: go build -o bin/main main.goclean: rm -rf bin 실행 결과$ make rungo run main.goHello, Wo..
쿠버네티스 코드베이스 읽어보기 https://github.com/kubernetes/kubernetes GitHub - kubernetes/kubernetes: Production-Grade Container Scheduling and ManagementProduction-Grade Container Scheduling and Management - kubernetes/kubernetesgithub.com 쿠버네티스의 프로세스 쿠버네티스 클러스터는 프로세스 7개가 구성하고 있다. 컨트롤 플레인은 이전엔 마스터 노드라고 불렸으며 클러스터를 관리한다. 워커 노드에서는 실제 사용자 컨테이너 실행을 담당한다.사용자 컨테이너가 폭주해서 노드 자원을 다 먹어도, 컨트롤 플레인이 죽지 않는다. 컨트롤 플레인 (마스터 노드에서 도는 것)kube-a..
Redis Streams와 Node.js redis 모듈 Redis Pub/Sub을 사용하고 있었는데...기존에는 HTTP RPC polling 방식으로 체인 데이터를 수집하고, Redis Pub/Sub으로 이벤트를 전달하고 있었다.Polling 방식은 일정 주기로 데이터를 가져오기 때문에 이벤트가 시간 단위로 분산되는 특징이 있었다. 그러나 Solana와 같이 TPS가 매우 높은 체인 도입을 고려하면서 polling 방식으로는 발생하는 이벤트를 안정적으로 수집하기 어렵다고 판단하였다. 그래서 polling을 WebSocket 기반 실시간 구독 방식으로 전환하였고, 체인 이벤트가 burst 형태로 서버에 직접 유입되기 시작했다. Redis Pub/Sub은 메시지를 구독 중인 소비자에게 실시간으로 전달하는 데에는 적합하지만, 메시지의 영속성이나 재처리 기능을 제..