필수 readiness와 선택 capability를 분리하기
프로세스가 살아 있다는 사실, 핵심 검색 요청을 처리할 준비가 됐다는 사실, 선택 기능이 모두 정상이라는 사실은 서로 다릅니다. 하나의 ready 값에 전부 넣으면 선택 모델 장애가 전체 재시작으로 이어지고, 핵심 DB 장애를 liveness가 가립니다.
Docker·Compose·Caddy·SSH
프로세스가 살아 있다는 사실, 핵심 검색 요청을 처리할 준비가 됐다는 사실, 선택 기능이 모두 정상이라는 사실은 서로 다릅니다. 하나의 ready 값에 전부 넣으면 선택 모델 장애가 전체 재시작으로 이어지고, 핵심 DB 장애를 liveness가 가립니다.
관측성은 데이터를 많이 쌓는 일이 아니라 장애 질문에 답하는 일입니다. Rate·Errors·Duration을 route template로 수집하고 request context로 로그·비동기 작업과 연결합니다.
컨테이너가 running이어도 DB 연결·필수 테이블·내부 의존성이 준비되지 않았을 수 있습니다. readiness는 사용자 요청을 받을 수 있는 상태를, liveness는 프로세스가 살아 있는지를 나타내야 합니다.
> 아래 다중 에뮬레이터 경로와 명령은 독립 스택 설계를 설명하는 예시입니다. 실제 저장소에 적용할 때는 필요한 공급자와 비용을 먼저 선택하세요.
요즘 웹 기능 중 일부는 HTTP 에서는 동작하지 않습니다. Service Worker · WebAuthn · 일부 미디어 API · Cookie SameSite=None 의 Secure 플래그가 그렇습니다. 운영에서는 자연스럽게 HTTPS 가 깔리지만, 로컬 개발에서는 별도 설정이 필요. 이 글은 로컬 HTTPS 가…
서비스가 시작 단계라면 한 대의 VPS 에 docker compose 로 모든 것을 띄우는 구성이 종종 가장 합리적입니다. 운영 인지 부하가 작고 비용이 예측 가능. 이 모델이 어디까지 가능한지 · 언제 한계에 닿는지 · k8s 를 비롯한 다음 단계의 자리.
어떤 포트는 인터넷에서 닿아야 하고, 어떤 포트는 같은 호스트 안에서만 쓰여야 합니다. 둘을 구분하는 가장 단순한 도구는 바인딩 주소. 외부에서만 들어갈 수 있는 길을 열고 싶으면 SSH 터널이 가벼운 답. 이 글은 0.0.0.0 과 127.0.0.1 의 차이 · Docker 의 포트 매핑 · SSH 포트 포워딩 (-L…
리버스 프록시 · HTTPS 종단 · 정적 파일 서빙은 거의 모든 웹 서비스의 공통 자리. nginx 가 오랜 표준이었고, 그 사이에 자동 HTTPS 와 단순한 설정을 강조하는 Caddy 가 자리를 넓혔습니다. 이 글은 두 도구의 출자 · 자동 HTTPS 의 의미 · 문법 차이 · 이웃 도구 (traefik · HAPr…
단일 호스트에서 여러 컨테이너 (웹 · DB · 캐시 · 큐) 를 함께 띄울 때 가장 가벼운 길이 Compose. YAML 한 파일로 의존 · 네트워크 · 볼륨 · 헬스체크를 묶음. 본격 오케스트레이터가 아니라는 점이 강점이자 한계. 이 글은 Compose 의 v1 vs v2 차이 · compose.yaml 핵심 키 ·…
컨테이너는 운영체제 위에 격리된 사용자 공간을 띄워 같은 모습의 애플리케이션을 어디서든 돌리는 길. Docker 는 이 컨테이너를 표준 도구로 묶어 대중화한 결정적 계기. 이 글은 Docker 의 출자 · 이미지 / 컨테이너 / 레이어 / 볼륨 / 네트워크 같은 기본 개념 · Dockerfile 핵심 명령 · 멀티스테이…