본문 바로가기
Daily/디지털 뱃지

[디지털 뱃지] 일일 스터디 Day 01

by S.W 2026. 5. 22.

[디지털 뱃지] 일일 스터디 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) 한 스레드에 문제가 생기면 같은 프로세스 내의 다른 스레드들도 영향을 받을 수 있다.
정답 및 해설 보기

정답: 3)
해설: 스레드는 프로세스의 자원을 공유하기 때문에, 컨텍스트 스위칭 시 CPU 레지스터 상태만 교체하면 되므로 멀티프로세싱에 비해 오버헤드가 훨씬 작고 빠릅니다.

Q2. 마이크로서비스 아키텍처(MSA) 환경에서 데이터 일관성을 유지하기 위해, 각 서비스의 로컬 트랜잭션을 순차적으로 실행하고 실패 시 역순으로 보상 트랜잭션을 발생시키는 패턴은?

1) CQRS 패턴
2) Saga 패턴
3) API Gateway 패턴
4) Circuit Breaker 패턴
정답 및 해설 보기

정답: 2)
해설: 분산 데이터베이스 환경인 MSA에서는 글로벌 트랜잭션 락을 거는 2PC 대신, 각 서비스의 로컬 트랜잭션을 연쇄적으로 실행하며 실패 시 이전을 되돌리는 'Saga 패턴'을 사용하여 가용성과 일관성을 확보합니다.


💡 신기술 추가 지식 : WebAssembly(Wasm)와 클라우드 네이티브

최근 DevOps 및 인프라 에코시스템에서는 컨테이너(Docker)보다 더 가볍고 격리 속도가 빠른 WebAssembly(Wasm)를 백엔드 및 에지 컴퓨팅에 도입하려는 움직임이 활발합니다. Wasm은 프로세스 격리보다 가벼운 샌드박스 메커니즘을 사용하여 멀티테넌트 가상화 효율을 극한으로 끌어올리는 차세대 기술 영역입니다. 기초 인프라 지식과 연계하여 트렌드로 알아두시면 큰 도움이 됩니다.