使用 WASI Cycles 构建 3D WebXR 游戏:集成 WasmEdge、Wasmtime 和 Wasmer 以调用 MongoDB、Kafka 和 Oracle

主要观点:介绍了与 WebAssembly(WASM)和 WebAssembly System Interface(WASI)相关的内容,包括其定义、运行时、与各种系统的交互及一个 3D WebXR 游戏的实现。
关键信息

  • WASM 是低级别、性能优化的字节码标准,具有便携性、安全性和速度优势,可由多种语言开发并在任何平台运行。
  • WASI 是应用的安全标准接口,可从多种语言编译为 Wasm 并在多地运行,包括与各种 I/O 交互,WASI Preview 2 是当前版本。
  • WASM 有多种运行时,如 Wasmer、Wasmtime、WasmEdge 等,它们支持运行.wasm 模块,用途各有侧重。
  • 通过 WASI 可以直接调用 Kafka、MongoDB 和 Oracle Database 实现互操作性,还构建了一个 3D WebXR 游戏,可通过两种架构实现。
    重要细节
  • 在游戏部分,前端用 three.js 和 node.js 编写,兼容 3D WebXR,通过 WASM 引擎向 Oracle Database 的 Kafka REST 端点发送玩家周期移动消息,Spring Boot 进行消息队列操作和生成对手消息,前端根据消息渲染 3D 场景,玩家和排行榜信息通过 SQL 和 JSON 访问维护。
  • 分别介绍了 WasmEdge、Wasmtime、Wasmer 和 Spring Boot 与 Oracle Database 结合的实现方式,包括使用的语言、依赖库、代码示例等,如 WasmEdge 用 Rust 编写,使用 tokio 和 hyper 进行 HTTPS 调用等。
  • PLSQL 中创建了表和队列并暴露为 REST,还提到了在数据库中使用 Java 和 JavaScript 进行外部服务调用及与 WASM 模块的交互等。
  • 提供了视频演示 <iframe src="https://www.youtube.com/embed/KD3XFh72Vyo?&wmode=opaque" frameborder="0" allowfullscreen="" class="fr-draggable" style="width: 807px; height: 589px;"></iframe> 。
阅读 21
0 条评论