apache / apache/dubbo-rust

[Proposal] Integrating a WebAssembly (wasm) runtime to support running business logic as a wasm module.

Open
#95 0 comments 1 reaction 0 assignees View on GitHub
proposal
Dominant language
Rust
Stars
296
Forks
65
PR merge metrics
No merged PRs in 30d

Description

One feasible option is to integrate wasmtime, as wasm is a language-agnostic compilation target that can be obtained from a variety of languages (e.g. Go, Python, .Net) and supports hot swapping, providing Rust with an extension mechanism similar to or even better than Java's Service Provider Interface (SPI).

However, this is a preliminary idea and the wasm ecosystem is not yet fully mature. Some issues to consider include:

1. Choosing or implementing a suitable wasm runtime.
2. Managing the process of loading, unloading, and running wasm modules, and integrating with Dubbo's service registration and discovery.
3. Providing comprehensive traffic control, load balancing, and runtime monitoring for wasm will also require further exploration.

In conclusion, a wasm runtime has the potential to bring great imagination to the Dubbo ecosystem, but there are still some issues to be addressed.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.