TECH 으로 돌아가기
TECH HACKER NEWS 오늘 2분 읽기 38 READS

FoundationDB는 왜 C++에 새 언어를 얹었나 — Flow의 비밀

FoundationDB 팀은 고성능 분산 DB를 만들며 C++11의 콜백 지옥과 스레드 동시성 문제에 부딪혔습니다. 해법은 놀랍게도 '언어를 확장'하는 것이었죠. Flow는 C++에 async/await, actor, Future/Promise 같은 키워드를 추가한 방언으로, 전용 트랜스파일러가 이를 순수 C++ 코드로 변환합니다. 덕분에 개발자는 콜백 대신 동기 코드처럼 비동기 로직을 자연스럽게 작성할 수 있습니다. 핵심은 단일 스레드 이벤트 루프 기반의 액터 모델이라 락 없이도 안전하다는 점입니다. 하지만 진짜 위력은 '결정론적 시뮬레이션'에 있습니다. 모든 동시성과 네트워크·디스크 I/O를 추상화했기에, 수천 대 서버의 장애·지연·패킷 손실을 단일 프로세스에서 재현하며 테스트할 수 있습니다. 이 시뮬레이션 테스트가 FoundationDB의 전설적인 안정성을 만든 비결이죠. 언어 문제를 회피하지 않고 정면으로 도구를 만든 엔지니어링 철학이 인상적입니다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://apple.github.io/foundationdb/flow.html
SHARE
처리 중...