Skip to content

[Blog] Fluss Rust SDK introduction blog#2934

Draft
fresh-borzoni wants to merge 2 commits intoapache:mainfrom
fresh-borzoni:fluss-rust-blog
Draft

[Blog] Fluss Rust SDK introduction blog#2934
fresh-borzoni wants to merge 2 commits intoapache:mainfrom
fresh-borzoni:fluss-rust-blog

Conversation

@fresh-borzoni
Copy link
Contributor

@fresh-borzoni fresh-borzoni commented Mar 25, 2026

Fluss Rust SDK blog

@fresh-borzoni fresh-borzoni marked this pull request as draft March 25, 2026 11:03
@fresh-borzoni
Copy link
Contributor Author

fresh-borzoni commented Mar 25, 2026

cc @luoyuxia @leekeiabstraction

Please, take a look at overall structure, diagrams and visuals are pending until we like the framing and content.

Copy link
Contributor

@leekeiabstraction leekeiabstraction left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the great post! I've added comments.

Comment on lines +28 to +34
We built fluss-rust on this same idea. A single Rust core implements the full Fluss client protocol (Protobuf-based RPC, record batching with backpressure, background I/O, Arrow serialization, idempotent writes, SASL authentication) and exposes it to three languages:

- **Rust**: directly, as the `fluss-rs` crate
- **Python**: via [PyO3](https://pyo3.rs), the Rust-Python bridge
- **C++**: via [CXX](https://cxx.rs), the Rust-C++ bridge

To give a sense of proportion: the Rust core is roughly 40k lines, while the Python binding is around 5k and the C++ binding around 6k. The bindings handle type conversion, async runtime bridging, and memory ownership at the language boundary, but all the protocol logic, batching, Arrow codec, and retry handling live in the shared core.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if we should include a diagram on this. The section reads well, adding diagram reinforces the message (and captures attention!).

IMO maybe the diagram can have fluss + rust mascots and replace the banner? More informative and also reads / shares well on sites like LinkedIn.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, it's good place for diagram and I plan to include some visuals/diagrams, but a bit later - if we like the text and flow.

@fresh-borzoni
Copy link
Contributor Author

@leekeiabstraction Ty for looking through
Addressed comments that are related to text and structure (diagrams and visuals are pending until we like the framing and content)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants