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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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)

Copy link
Copy Markdown
Contributor

@luoyuxia luoyuxia left a comment

Choose a reason for hiding this comment

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

@fresh-borzoni Thanks for the great blog. I really like it. lgtm overall. I just left one comment.


On the infrastructure side, we're adding client metrics so operators can monitor the SDK in production, and improving Python ergonomics with async iterator support for log scanning.

Beyond feature parity, there are two directions we're especially excited about.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Maybe we can add two more directions to attract more developers?
1: provide go sdk to unlock native log Ingestion, like filebeat integration. It also required by some fluss users.
2: provide a cli to AI Agent Integration

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Sure, good additions 👍

@fresh-borzoni
Copy link
Copy Markdown
Contributor Author

@luoyuxia @leekeiabstraction
Thank you for the review, looks like we like structure and text, then I'll add diagrams today and we can finalise the blog today/tomorrow

@luoyuxia
Copy link
Copy Markdown
Contributor

@luoyuxia @leekeiabstraction Thank you for the review, looks like we like structure and text, then I'll add diagrams today and we can finalise the blog today/tomorrow

Thanks. Let's move forward!

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.

3 participants