프로젝트 소개

Seastar는 C++로 논블로킹, 비동기 서버 측 코드를 작성하기 위한 이벤트 기반 프레임워크입니다. futures와 promises에 기반하여, 모델을 이해하면 개발자가 비교적 간단한 방식으로 비동기 로직을 표현할 수 있습니다. 빌드: 종속성은 제공된 install-dependencies.sh 스크립트로 설치할 수 있으며, configure.py(CMake 래퍼)로 구성하고 ninja로 컴파일합니다. 누락된 종속성은 --cook 옵션을 사용하여 로컬에서 가져올 수 있습니다. 빌드 모드는 CMake 빌드 유형에 매핑됩니다: debug(Debug, ASAN/UBSAN, 시스템 할당자, 모든 검사), release(RelWithDebInfo, -O3, Seastar 할당자, 어서트), dev(사용자 지정, -O1, 디버그 정보 없음), sanitize(사용자 지정, -Os, ASAN/UBSAN). README는 Seastar가 할당자와 최적화에 민감하며, release가 dev, sanitize, debug보다 훨씬 빠르다고 언급합니다. 사용: Seastar는 빌드 디렉토리에서 직접 또는 설치 후 pkg-config 또는 Seastar 패키지와 함께 CMake를 통해 사용할 수 있습니다. C++23과 C++26을 모두 지원하며, 컴파일러가 지원하는 최신 표준을 기본으로 하고 --c++-standard로 선택할 수 있습니다. Docker 기반 빌드 지침이 있으며, DPDK 사용은 선택 사항입니다. 기능: Seastar는 더 나은 성능을 위해 자체 사용자 공간 TCP/IP 스택을 포함합니다. 권장 하드웨어는 멀티코어/NUMA CPU, 빠른 NIC(10G 또는 40G 권장, CPU당 많은 하드웨어 큐), 높은 IOPS SSD, 부하 생성을 위한 여러 클라이언트 머신을 포함합니다. 리소스: 미니 튜토리얼과 포괄적인 튜토리얼이 제공되며, 웹 문서, 개발 메일링 리스트, GitHub Discussions, 이슈 트래커가 있습니다. Seastar를 사용하는 프로젝트에는 cpv-cql-driver, cpv-framework, Redpanda, Scylla, smf, Ceph Crimson이 포함됩니다.