首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【大家的项目】fusen-rs正式发布一个Rust轻量级微服务框架,支持Dubbo与SpringCloud

fusen-rs 一个最像RPC框架的Rust-RPC框架 fusen-rust是一个高性能,轻量级的微服务框架,通过使用Rust宏来解决目前主流rpc框架使用复杂,性能低等问题,不需要通过脚本和脚手架生成...满足RPC调用的简易性,同时支持Dubbo3,SpringCloud微服务生态可以与Java项目进行服务注册发现与互相调用. https://github.com/kwsc98/fusen-rs 目前Rust...主流RPC和Web框架都是通过脚本来生成相应的服务调用代码,来达到类似RPC调用的方式,但是使用上却存在低灵活性,不方便修改的问题,本项目就是通过Rust宏来实现编译期“反射”即实现了类似于Java反射代理的方式...Rust的Server和Client完全不用改造就如上示例即可。...=2 2024-04-10T06:52:32.737307Z INFO ThreadId(07) server: 33: res : a=1,b=2 测试curl ( curl => fusen-rust

22010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Rust中move、copy、clone、drop和闭包捕获

    move语义 rust中的类型,如果没有实现Copy trait,那么在此类型的变量赋值、函数入参、函数返回值都是move语义。...但rust天生就是move语义。 如下的代码中,变量a绑定的String实例,被move给了b变量,此后a变量就是不可访问了(编译器会帮助我们检查)。...copy语义 rust中的类型,如果实现了Copy trait,那么在此类型的变量赋值、函数入参、函数返回值都是copy语义。这也是c++中默认的变量传递语义。...drop语义 rust的类型可以实现Drop trait,也可以不实现Drop trait。但是对于实现了Copy trait的类型,不能实现Drop trait。...("moto", &s); } 最后总结 move、copy、clone、drop和闭包捕获是rust中基本的概念,代码过程中随时要清楚每个变量的变化。

    1.5K10

    如何解决node进程间共享内存

    [toc] npm i @runnersnail/cache-machine 利用rust帮助node进程间共享内存 业务场景:调用算法接口,算法5分钟后得到数据然后调用node接口返回数据,此时node...为了避免自己实现原剩代码操作内存,我们需要借助一些三方成熟的包 所以我们需要完成以下三个事情 选择一门系统语言 寻找一个成熟的三方包共享内存 寻找ffi工具快速完成 这里系统语言我选择rust,...如今前端火热的Deno项目采用rust编写,rust已经变的更靠近web社区 选择Rust的第二个原因是它的三方包类似于npm一样容易集成,挑选shared memory模块 shared_memory-rs...set_string.to_bytes_with_nul().len()] .copy_from_slice(set_string.to_bytes_with_nul()); } Ok("".to_owned...SHMEM_GLOBAL = match create_open_mem() { Ok(v) => Some(v), _ => None, }; } set_cache("".to_owned

    2.7K10

    Rust日报】2023-09-13 RustRover – JetBrains 推出的独立 Rust IDE

    RustRover – JetBrains 推出的独立 Rust IDE “什么时候会有 Rust IDE?” 这是用户经常提出的问题(八年了,你知道这八年我怎么过的吗?)...,现在,JetBrains 宣布这一天已经到来:它就是 JetBrains 独立 Rust IDE – RustRover。 多年来 JetBrains 中 Rust 功能多以插件形式被支持。...rust-kafka Rust Kafka 客户端库 一个在 librdkafka 基础上完全异步、基于 future 的 Rust Kafka 客户端库 目前提供的主要功能有: 支持自 0.8.x 以来的所有...len for {} is {}", payload, payload.len()), Some(Err(_)) => "Message payload is not a string".to_owned...(), None => "No payload".to_owned(), } } // Creates all the resources and runs the event

    41420

    Rust Web 生态观察| SeaORM :要做 Rust 版本的 ActiveRecord

    引子 有些人说用 Rust 进行 Web 开发 是杀鸡用牛刀,这种观点其实是对「系统级语言」的刻板印象造成的。无论从性能、工程架构还是开发效率,Rust 其实都很出色,目前就是需要一套比较成熟的框架。...无论如何,Rust 在 Web 开发领域的生态在逐步成型。...这也促使我想写《Rust Web 生态观察》系列文章,时间精力有限,不定时更新。希望能给大家提供一个视角,来客观地 了解 Rust 在 Web 开发领域的发展。...Rust ORM 生态 Rust ORM 生态中,最早的 ORM 是 Diesel[1]。...随着 Rust 异步生态的发展,ORM 异步支持的需求也逐渐增多。 之后,`sqlx`[2] 出现了。Go 语言生态中也有同名的数据库包,不确定 Rust 这个 sqlx 的命名是否参考它。

    10.2K20

    Rust 标记Trait,公共词汇Trait

    由于 Rust 语言本身会使用这种类型的Trait为具有某些特征的类型打上标记,因此我们将其称为标记Trait 然而,Rust 也有一些无固定大小类型,它们的值大小不尽相同。...这就是 Rust 不会自动克隆值,而是要求你进行显式方法调用的原因。...borrow::ToOwned Trait提供了一种稍微宽松的方式来将引用转换为拥有型的值: trait ToOwned { type Owned: Borrow; fn to_owned...(&self) -> Self::Owned; } 与必须精确返回 Self 类型的 clone 不同,to_owned 可以返回任何能让你从中借入 &Self 的类型:Owned 类型必须实现 Borrow...如果 Cow 恰好是 Cow::Borrowed,那么 to_mut 只需调用引用的 to_owned 方法来获取其引用目标的副本,将 Cow 更改为 Cow::Owned,并借入对新创建的这个拥有型值的可变引用即可

    8510
    领券