このプロジェクトについて

Seastarは、C++でノンブロッキングで非同期のサーバーサイドコードを記述するためのイベント駆動型フレームワークです。これはfutureとpromiseに基づいており、モデルを理解すれば、開発者は比較的簡単な方法で非同期ロジックを表現できます。 ビルド: 依存関係は、提供されているinstall-dependencies.shスクリプトでインストールでき、その後configure.py(CMakeのラッパー)で設定し、ninjaでコンパイルします。欠落している依存関係は、--cookオプションでローカルに取得できます。ビルドモードはCMakeビルドタイプに対応しています: debug(Debug、ASAN/UBSAN、システムアロケータ、すべてのチェック)、release(RelWithDebInfo、-O3、Seastarアロケータ、assert)、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、負荷生成用の複数のクライアントマシンが含まれます。 リソース: ミニチュートリアルと包括的なチュートリアルが提供されており、Webドキュメント、開発メーリングリスト、GitHub Discussions、イシュートラッカーもあります。 Seastarを使用するプロジェクトには、cpv-cql-driver、cpv-framework、Redpanda、Scylla、smf、Ceph Crimsonがあります。