└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Seastar [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 2 | 3 | A curated list of resources related to [Seastar](http://seastar.io), an industrial-grade C++ framework for building high-performance servers. 4 | 5 | ## News 6 | 7 | * What's new in Seastar (infrequently released) 8 | * [Issue 1 - Apr '23](https://makedist.com/posts/2023/04/30/whats-new-in-seastar-issue-1/) 9 | * [Issue 2 - Dec '23](https://makedist.com/posts/2023/12/01/whats-new-in-seastar-issue-2/) 10 | * [Issue 3 - Apr '24](https://makedist.com/posts/2024/04/22/whats-new-in-seastar-issue-3/) 11 | * [Issue 4 - Sep '24](https://makedist.com/posts/2024/08/31/whats-new-in-seastar-issue-4/) 12 | 13 | ## Building with Bazel 14 | 15 | The official build system of Seastar is CMake. But now Seastar can now be brought into a Bazel project using this https://registry.bazel.build/modules/seastar. It's as easy as adding this to your `MODULE.bazel`: 16 | 17 | ``` 18 | bazel_dep(name = "seastar", version = "25.08.0-20250807194611-1520326e6032") 19 | ``` 20 | 21 | You'll still need to install several system dependencies, but this set should reduce over time. This is receipe was contributed by [Redpanda](https://github.com/redpanda-data/redpanda) which has now officially moved to a 100% Bazel build. 22 | 23 | ## Projects 24 | 25 | *Systems and projects using Seastar* 26 | 27 | * [Ceph](https://github.com/ceph/ceph) - Distributed storage system for object, block, and file 28 | * The seastar-based storage engine is called [Crimson](https://github.com/ceph/ceph/tree/master/src/crimson) 29 | * [CPV](https://github.com/cpv-project/cpv-framework) - Web framework written in C++ and Seastar 30 | * [Chogori](https://github.com/futurewei-cloud/chogori-platform) - Low-latency distributed OLTP database 31 | * [Lightbits](https://www.youtube.com/watch?v=kWfhVaeY2BE) - Lightbits LightOS 32 | * [ministun](https://github.com/nguyenminh-phuc/ministun) - RFC 8489 STUN server 33 | * [mithril](https://github.com/salahsheikh/mithril) Client-server framework inspired by Netty 34 | * [Parquet4Seastar](https://github.com/michoecho/parquet4seastar) - Parquet file format implementation for use in Seastar projects 35 | * [Pedis/1store](https://github.com/fastio/1store) - Replacement for Redis written in Seastar 36 | * [RageDB](https://github.com/ragedb/ragedb) - In Memory Property Graph Server using the Shared Nothing design from Seastar 37 | * [Redpanda](https://github.com/redpanda-data/redpanda/) - Replacement for Apache Kafka designed for modern hardware 38 | * [Scylladb](https://github.com/scylladb/scylla) - Replacement for Apache Cassandra and Amazon DynamoDB 39 | * [Shredder](https://github.com/utah-scs/shredder) - Research prototype for [SoCC '19 paper](https://www.cs.utah.edu/~lifeifei/papers/shredder.pdf) embedding v8 in Seastar 40 | * [nanoservices](https://github.com/utah-scs/nanoservices) - Some relationship to [Shredder](https://github.com/utah-scs/shredder) 41 | * [SMF](https://github.com/smfrpc/smf) - RPC framework built for microseconds latencies using Seastar 42 | * [SpiderDB](https://github.com/chungphb/spiderdb) - An on-disk key-value database based on a b-link tree 43 | * [Hiactor](https://github.com/alibaba/hiactor) - Hiactor is a distributed actor framework. 44 | 45 | ## Learning 46 | 47 | *Resources for learning Seastar* 48 | 49 | * [Official tutorial](https://github.com/scylladb/seastar/blob/master/doc/tutorial.md) - a comprehensive tutorial from the creators of Seastar 50 | * [Seastar internals](https://makedist.com/projects/seastar-internals/) - is a series of deep dives into various Seastar components 51 | * [Asynchronous Programming with Seastar](http://nadav.harel.org.il/seastar/) - is a series of tutorials covering Seastar compnents 52 | * [Rolling your own MOM](https://dev.to/cppchedy/rolling-out-your-own-mom-or-how-i-did-it-general-introduction-3j20) - a series documenting the MOZA middleware 53 | * [Seabrute](https://github.com/VictorDenisov/seabrute) - a selfstudy project for learning seastar by implementing distributed password bruteforce 54 | 55 | ## Archived 56 | 57 | These appear to no longer exist :( 58 | 59 | * [seastar-kafka-client](https://github.com/haaawk/seastar-kafka-client) - A seastar-based kafka client 60 | 61 | ## Contributors 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 |

Chedy Najjar

Noah Watkins
71 | 72 | 73 | --------------------------------------------------------------------------------