[Blog] Fluss Rust SDK introduction blog#2934
[Blog] Fluss Rust SDK introduction blog#2934fresh-borzoni wants to merge 2 commits intoapache:mainfrom
Conversation
|
cc @luoyuxia @leekeiabstraction Please, take a look at overall structure, diagrams and visuals are pending until we like the framing and content. |
4b6efb3 to
072b613
Compare
leekeiabstraction
left a comment
There was a problem hiding this comment.
Thank you for the great post! I've added comments.
| 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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
|
@leekeiabstraction Ty for looking through |
Fluss Rust SDK blog