특징/아키텍처 모놀리틱 아키텍처 마이크로서비스 아키텍처 (MSA) 코드베이스 단일 코드베이스로 전체 애플리케이션이 관리됨 각 서비스가 독립적인 코드베이스를 가짐 데이터베이스 주로 하나의 데이터베이스를 사용 각 서비스가 자체 데이터베이스를 가질 수 있음 확장성 전체 애플리케이션을 확장해야 함 각 서비스를 독립적으로 확장 가능 유지보수 하나의 부분을 변경하면 다른 부분에도 영향을 미칠 수 있음 각 서비스가 독립적이므로 유지보수가 쉬움 배포 전체 애플리케이션을 하나의 단위로 배포 각 서비스를 독립적으로 배포 가능 결합도 높은 결합도로 서비스나 기능들이 밀접하게 연결됨 낮은 결합도로 각 서비스가 독립적으로 동작 팀 작업 하나의 큰 팀이 전체를 관리 각 서비스를 별도의 작은 팀이 관리 가능 복잡성 초기에는 단순하..
인프라
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 배포, 확장, 관리를 자동화하는 오픈소스 플랫폼입니다. 쿠버네티스의 핵심 기능 중 하나는 컨테이너의 상태를 체크하는 프로브(probe)입니다. 이 중 Liveness, Readiness, 그리고 Startup 프로브에 대해 알아봅시다. Liveness Probe Liveness Probe는 컨테이너가 동작 중인지 확인하는 역할을 합니다. 만약 Liveness Probe가 실패하면, 쿠버네티스는 해당 컨테이너를 재시작합니다. 이는 무한 루프에 빠진 애플리케이션, 데드락(deadlock)에 빠진 상태 등, 복구가 불가능한 문제를 해결하기 위한 방법입니다. Readiness Probe Readiness Probe는 컨테이너가 요청을 처리할 준비가 되..