"fusen-rs"正式发布一个Rust轻量级微服务框架,支持Dubbo与SpringCloud

💡 原文中文,约8100字,阅读约需20分钟。
📝

内容提要

fusen-rust是一个高性能、轻量级的微服务框架,使用Rust宏解决了主流RPC框架的复杂性和性能低下的问题。它支持Dubbo3和SpringCloud微服务生态,可以与Java项目进行服务注册和调用。该框架提供了示例代码和快速开始指南,方便用户使用。同时,它还兼容Dubbo3协议和HTTP协议,并支持JSON和二进制序列化格式。此外,fusen-rust还支持SpringCloud的服务注册和发现功能,用户可以根据需要选择和切换协议。

🔎

延伸解读

Rust 宏实现编译期反射:简化 RPC 开发

fusen-rust 通过 Rust 宏在编译期实现类似反射的机制,自动生成 RPC 调用代码,避免了传统脚本或脚手架生成的复杂性。这种方式既保持了代码的灵活性,又实现了零抽象开销的高性能调用,让开发者能更专注于业务逻辑。

多协议与多注册中心支持:灵活适配现有生态

框架支持 Dubbo3、SpringCloud 以及自定义 Fusen 协议,并兼容 HTTP/1、HTTP/2 和 JSON、二进制序列化。开发者可以同时暴露多种协议,并根据需要切换注册中心类型,方便与现有 Java 微服务生态集成。

与 Java 项目互调:依赖与配置要点

与 Java 版 Dubbo3 项目互调时,Java 端需添加 fastjson 和 nacos 依赖,并配置 prefer-serialization 为 fastjson,以支持二进制序列化。SpringCloud 项目则无需改造代码,直接启动即可实现服务注册与发现。

快速上手:示例代码与测试验证

文章提供了完整的服务端和客户端示例代码,包括异步调用和多协议支持。通过 curl 测试可以验证 curl 到 SpringCloud 再到 fusen-rust 的调用链路,以及直接调用 fusen-rust HTTP 接口,帮助开发者快速理解和使用框架。

❓

Q&A

fusen-rust框架的主要特点是什么?

fusen-rust是一个高性能、轻量级的微服务框架,使用Rust宏解决了RPC框架的复杂性和性能低下的问题。

fusen-rust如何与Java项目进行交互?

fusen-rust支持Dubbo3和SpringCloud微服务生态,能够与Java项目进行服务注册和调用。

fusen-rust支持哪些协议和序列化格式?

fusen-rust兼容Dubbo3协议和HTTP协议,支持JSON和二进制序列化格式。

如何快速开始使用fusen-rust框架?

框架提供了示例代码和快速开始指南,方便用户使用。

fusen-rust如何实现服务注册和发现?

fusen-rust支持SpringCloud的服务注册和发现功能,用户可以根据需要选择和切换协议。

fusen-rust的示例代码展示了哪些功能?

示例代码展示了如何实现服务端和客户端的功能,包括异步调用和多协议支持。

🏷️

标签

➡️

继续阅读