Structured Logging 설계와 실무 적용 (JSON 로그 기준)
도입 문자열 로그는 사람이 읽기는 쉽지만 검색과 집계가 어렵다. 서비스가 커질수록 로그는 분석 대상이 된다. 이때 필요한 방식이 Structured Logging이다. 핵심은 “문장이 아니라 데이터로...
서버 검색 결과: 46개
도입 문자열 로그는 사람이 읽기는 쉽지만 검색과 집계가 어렵다. 서비스가 커질수록 로그는 분석 대상이 된다. 이때 필요한 방식이 Structured Logging이다. 핵심은 “문장이 아니라 데이터로...
도입 로그를 많이 남긴다고 운영이 쉬워지는 것은 아니다. 중요한 것은 상황에 맞는 로그 레벨을 일관되게 남기는 것이다. 로그 레벨이 섞이면 장애 상황에서 원인을 찾기 어렵다. INFO, WARN, ERRO...
도입 서비스를 운영하다 보면 클라이언트가 직접 애플리케이션 서버에 붙지 않게 해야 하는 경우가 많다. 이때 가장 많이 쓰는 구조가 Reverse Proxy다. 앞단에서 요청을 받고, 뒤쪽 서버로 대신 전달...
Apache와 Nginx는 가장 널리 사용되는 웹 서버다. 두 서버는 “요청을 처리하는 방식”에서 구조적인 차이가 있다. 이 차이는 동시 접속 처리, 메모리 사용량, 성능 특성에 직접적인 영향을 준다. 따라...
Nginx는 이벤트 기반(Event-driven) 비동기 웹 서버다. 기존의 프로세스/스레드 기반 서버와 달리 적은 리소스로 많은 요청을 처리하는 구조를 가진다. 이 구조 덕분에 Nginx는 높은 동시 접속 ...
Context Switching은 CPU가 하나의 작업에서 다른 작업으로 전환하는 과정이다. 멀티태스킹 환경에서 여러 프로세스를 동시에 실행하기 위해 필수적인 동작이다. 하지만 Context Switching...
리눅스에서 파일 디스크립터(File Descriptor, FD)는 “열려 있는 파일을 식별하는 번호”다. 여기서 말하는 파일은 실제 파일뿐 아니라 소켓, 파이프, 장치까지 포함한다. 즉 리눅스에서는 모든 I/...
REST API는 단순히 URL을 만드는 방식이 아니라, 자원(Resource)을 중심으로 시스템을 표현하는 설계 방식이다. 기능 중심으로 즉흥적으로 만들기 시작하면 엔드포인트 규칙이 흐트러지고, 유지보수 비용이 ...
트래픽이 증가한다고 Redis, 로드 밸런서, 복제 DB와 큐를 한꺼번에 추가하면 운영 지점만 늘어날 수 있다. 확장은 현재 병목과 실패 조건을 측정한 뒤 가장 작은 변화부터 적용해야 한다. 1. 먼저 서비스 ...
S3를 “그냥 파일 저장소”처럼 쓰기 시작하면 권한 설정에서 사고가 난다. S3는 기본적으로 퍼블릭 차단을 전제로 설계하고, 접근은 IAM 권한으로 통제하는 방식이 안전하다. S3와 IAM을 함께 쓴다는 것은...