4 comments

  • jonstewart 522 days ago
    How does Fluvio compare with Arroyo and Timely/Differential Datadlow, or, of course, Apache Flink?
    • debadyutirc 520 days ago
      Fluvio Stateful Service Development Kit is in Dev Preview. State operations, windows are part of SSDK.

      A decent analog for Fluvio the core functionality of Kafka + Flink + Airflow. Distributed streaming + stateful stream processing + workflow orchestration.

      Arroyo and Flink are great stream processing engines with SQL interfaces. Flink is more mature and Arroyo is fast and light since it is written in Rust.

      The 2 key differences are: - The implementation of Fluvio SSDK is using the wasm component model, which natively enables polyglot interfaces. Fluvio operates using YAML to express schema, operators, state, and windows. - Fluvio SSDK provides a scaffolding for composing end to end event streaming flows in a single composable paradigm to reduce context switching and make the process of development simpler and uniform.

  • pjmlp 522 days ago
    Without taking the merits out of the effort, for something in previous bytecode formats.

    https://www.usenix.org/conference/fourth-annual-usenix-tcltk...

    https://en.m.wikipedia.org/wiki/Jini

    • debadyutirc 521 days ago
      Thank you for the comment. This is certainly not a novel concept. Its an opinionated implementation that is geared towards solving some business problems.
  • weego 522 days ago
    I'm a bit confused why wasm is involved. What's the application of it in fluvio that makes it the right solution?
    • lf-non 522 days ago
      Stream operations can be defined ostensibly in any lang. that compiles to wasm, enabling polyglot stream processing.
      • debadyutirc 520 days ago
        Yes. This is on the money.

        Wasm component model enables the stream processing operations to be natively available to wasm compatible languages.

        Fluvio core streaming engine is implemented in Rust.

        The first generation stream processing, transformations were initially implemented in Rust needed binding generators to work in Python, JavaScript, Go etc. Also state and window operations and offset management needed to be expressed in application logic.

        In the current generation of stream processing wasm component model enables a native support for polyglot stream processing.

  • tmikaeld 522 days ago
    Hm, docs only mention node, can't it be used in Deno using the WASM?