[디지털 뱃지] 일일 스터디 Day 01
General & Developer Engineering 핵심 돌파
1. 오늘의 핵심 이론 설명
General Engineering - OS
프로세스(Process) vs 스레드(Thread) 핵심 정복
클라우드 인프라와 컨테이너 환경의 가상 리소스 할당을 이해하기 위한 가장 가치 있는 OS 기초 개념입니다.
- 프로세스: 운영체제로부터 가상 메모리, 파일 핸들 등 독립된 자원을 할당받는 실행 중인 프로그램의 단위입니다. 프로세스 간 자원 공유는 IPC(Inter-Process Communication)를 통해서만 가능하므로 컨텍스트 스위칭 비용이 큽니다.
- 스레드: 프로세스 내에서 실행되는 실행 흐름의 단위입니다. 프로세스의 Stack 영역만 독자적으로 할당받고 Code, Data, Heap 영역은 다른 스레드들과 공유하므로 메모리 오버헤드가 적고 통신이 빠릅니다.
Developer Engineering - MSA
마이크로서비스 아키텍처(MSA)의 핵심 사상
클라우드 네이티브 애플리케이션의 기본 뼈대가 되는 가용성 중심의 아키텍처 패턴입니다.
- 느슨한 결합(Loose Coupling)과 고도의 응집성(High Cohesion): 각 서비스는 비즈니스 경계(Bounded Context)에 따라 독립적으로 정의되며, 서로 간의 간섭을 최소화하여 REST API나 gRPC를 통해 통신합니다.
- 데이터베이스 분리(Database per Service): MSA에서는 서비스별로 전용 DB를 가집니다. 이로 인해 트랜잭션의 정합성을 유지하기 위해 2PC(Two-Phase Commit) 대신 Saga 패턴(보상 트랜잭션 처리)을 필수로 사용합니다.
2. 디지털 뱃지 레벨 1~2 예상 문제집
Q1. 운영체제의 프로세스와 스레드에 대한 설명 중 가장 거리가 먼 것은?
1) 프로세스는 운영체제로부터 독립된 메모리 공간을 할당받는다.
2) 스레드는 같은 프로세스 내에서 Code, Data, Heap 영역을 공유한다.
3) 멀티스레딩은 멀티프로세싱에 비해 컨텍스트 스위칭 오버헤드가 크다.
4) 한 스레드에 문제가 생기면 같은 프로세스 내의 다른 스레드들도 영향을 받을 수 있다.
2) 스레드는 같은 프로세스 내에서 Code, Data, Heap 영역을 공유한다.
3) 멀티스레딩은 멀티프로세싱에 비해 컨텍스트 스위칭 오버헤드가 크다.
4) 한 스레드에 문제가 생기면 같은 프로세스 내의 다른 스레드들도 영향을 받을 수 있다.
정답 및 해설 보기
정답: 3)
해설: 스레드는 프로세스의 자원을 공유하기 때문에, 컨텍스트 스위칭 시 CPU 레지스터 상태만 교체하면 되므로 멀티프로세싱에 비해 오버헤드가 훨씬 작고 빠릅니다.
Q2. 마이크로서비스 아키텍처(MSA) 환경에서 데이터 일관성을 유지하기 위해, 각 서비스의 로컬 트랜잭션을 순차적으로 실행하고 실패 시 역순으로 보상 트랜잭션을 발생시키는 패턴은?
1) CQRS 패턴
2) Saga 패턴
3) API Gateway 패턴
4) Circuit Breaker 패턴
2) Saga 패턴
3) API Gateway 패턴
4) Circuit Breaker 패턴
정답 및 해설 보기
정답: 2)
해설: 분산 데이터베이스 환경인 MSA에서는 글로벌 트랜잭션 락을 거는 2PC 대신, 각 서비스의 로컬 트랜잭션을 연쇄적으로 실행하며 실패 시 이전을 되돌리는 'Saga 패턴'을 사용하여 가용성과 일관성을 확보합니다.
💡 신기술 추가 지식 : WebAssembly(Wasm)와 클라우드 네이티브
최근 DevOps 및 인프라 에코시스템에서는 컨테이너(Docker)보다 더 가볍고 격리 속도가 빠른 WebAssembly(Wasm)를 백엔드 및 에지 컴퓨팅에 도입하려는 움직임이 활발합니다. Wasm은 프로세스 격리보다 가벼운 샌드박스 메커니즘을 사용하여 멀티테넌트 가상화 효율을 극한으로 끌어올리는 차세대 기술 영역입니다. 기초 인프라 지식과 연계하여 트렌드로 알아두시면 큰 도움이 됩니다.
'Daily > 디지털 뱃지' 카테고리의 다른 글
| [디지털 뱃지] 일일 스터디 Day 06 (0) | 2026.05.27 |
|---|---|
| [디지털 뱃지] 일일 스터디 Day 05 (0) | 2026.05.26 |
| [디지털 뱃지] 일일 스터디 Day 04 (0) | 2026.05.25 |
| [디지털 뱃지] 일일 스터디 Day 03 (0) | 2026.05.24 |
| [디지털 뱃지] 일일 스터디 Day 02 (0) | 2026.05.24 |