-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BP: Pluggable processors (WASM) #1158
Comments
I spent a fair bit of time exploring WebAssembly and the WebAssembly ecosystem and unfortunately it has become quite fragmented with various runtimes and implementations/standards (e.g. base WASM, WASI and WASIX). What is promising though is the (relatively) mature support for Host Functions (i.e. a native function that can be exposed within the WASM runtime to provide additional functionality). This feels like the right approach at least for now. Include a WASM runtime and ship a number of host functions that provide common functionality (such as HTTP Requests or maybe even SQL query access to popular databases). That would allow us to support multiple languages for transforms as well as see a significant performance boost (WASM vs JS on |
For future reference: https://github.com/stealthrocket/net
|
I've updated the description to include relevant issues and PRs |
The WASM part itself is done, we're now hooking it into Conduit. |
Pluggable processors or bring-your-own-processor (BYOP) is the ability to provide a custom processor implementation, similarly to how we currently allow the user to provide standalone connector implementations. We already provide a similar feature using the JavaScript processor, although it has many drawbacks like poor performance and the fact that users are forced to write JavaScript. We should think about alternatives that would improve the experience of writing your own processor like go-plugin or WebAssembly.
The text was updated successfully, but these errors were encountered: