[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 |
There was a problem hiding this comment.
@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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Sure, good additions 👍
|
@luoyuxia @leekeiabstraction |
Thanks. Let's move forward! |
Fluss Rust SDK blog