Includes new APIs, utilities, and fixes. Some highlights:
tokio 今天发布了新的 RFC,提出了新的支持 io-uring 异步运行时的计划。
我们在上文《小朋友也能听懂的Rust网络编程框架知识-Tokio基础篇》对于Tokio的基础知识进行了一下初步的介绍,本文就对于Tokio的用法及原理进行进一步的介绍与说明。
大名鼎鼎的 The Algorithms 的 Rust 版本,使用 Rust 实现所有算法。
今天,我们很高兴地宣布初始发布Tokio-Metrics,一个用于获得Tokio应用程序的运行时和任务级别指标的crate。Tokio-Metrics使Tokio用户更容易通过提供生产中的运行时行为来调试性能问题。
这是 Rust Embedded WG 的第 22 期通讯,我们重点介绍新的进展,为出色的项目加油,感谢社区并宣传需要帮助的项目!(如果您想在下一期通讯中提及,请联系我们。)例如:用 Rust 在树莓派上进行操作系统开发教程:https://github.com/rust-embedded/rust-raspi3-OS-tutorials。
因此需要对这部分升级的代码进行回归,具体原由看这里:https://github.com/rust-lang/rust/issues/84958
尽管自90年代以来,这个数字已经稳步下降,但现在仍然有许多不同的、不兼容的CPU架构在使用。大多数计算机使用x86_64,几乎所有的移动设备和最近的Mac都使用某种基于ARM64的ISA(指令集架构)。
像Golang 借助微服务和云原生的春风,构建了强大的生态系统。Python在数据分析和机器学习,构建了简洁实用的生态系统。
Rust的Future是用来实现异步编程的。今天我们围绕其了解下Rust的异步编程是如何构建。
通过之前的《Rust 异步编程之 Future 初探》我们知道Rust的异步是以task的调度来构建的。task作为抽象在语言层面的调度单元。
今天我们继续高并发的话题,传统的云计算技术,本质上都是基于虚拟机的,云平台可以将一些性能强劲的物理服务器,拆分成若干个虚拟机,提供给用户使用,但在互联网发展到今天,虚拟机还是太重了。即使是飞天集群,新增部署虚拟机的时间也是以分钟来计的。但是对于互联网用户来讲20秒的等等就是就会千万50%以上的用户流失,不能忍受的煎熬,因此Docker秒级启动的速度也不是个完美的解决方案,最终还是要Serverless极速的伸缩才能满足客户需求。
感谢各位参加由Rustcc主办的首届Rust中国开发者大会。本次大会的回放录像已经在Rustcc论坛公布。
Serverless的概念火了,业界已经不再讨论要不要用Serverless的问题了,而是高喊Serverless First的口号力求快速拥抱Serverless,无服务器并不是Serverless的本质,不需要关心服务器的情况就能高效工作,才是Serverless胜出的核心要义。互联网时代流量的大起大落,很多科技巨头在面对流量的冲击时也都败下阵来,针对前几个月B站的崩溃事件,笔者还曾写过《B站的前端崩了,后端的你别慌》来分析来龙去脉,而Serverless凭借快速伸缩的自动弹性特点,可以从容应对类似的冲击,这也让这种新技术出尽的风头。
Read More: https://tokio.rs/blog/2019-08-alphas/
到目前為止,感謝社區的回饋與rust團隊對rust語言的維護,也感謝tokio有專業的團隊在維護。
因为是复刻Java系的Mybatis,因此框架暂命名 Rbatis。小部分功能还在进行中。github链接https://github.com/rbatis/rbatis
QUIC 是一种为性能而设计的加密传输协议,它是尚处在襁褓之中的 HTTP/3(最新是 draft-34)的基础。根据维基百科的资料显示,QUIC 在 2012 年就被部署到 Google 内部,并于 2013 年对外发布。2021 年 5 月,IETF 在 RFC 9000 中对 QUIC 的基本功能进行了标准化,并在 RFC 9001 中标准化了如何使用 TLS 保护 QUIC,以及 RFC 9002 中标准化了 QUIC 的拥塞控制。QUIC 通过使用在 QUIC 传输中承载的通过 TLS 建立的加密和身份验证密钥来保护其 UDP 数据报文。它旨在通过提供改进的首字节延迟,多路复用,以及解决诸如线头阻塞、移动性和数据丢失检测等问题来改进 TCP。
在过去的几个星期,作者通过GDB调试了他们的动态链接器(ld.so)并找到了不少共享库的问题。
ConnectorX 团队观察到现有解决方案在下载数据时或多或少会多次冗余数据。此外,在 Python 中实现数据密集型应用程序会带来额外的成本。ConnectorX 是用 Rust 编写的,并遵循“零拷贝”原则。这允许它通过变得对缓存和分支预测器友好来充分利用 CPU。此外,ConnectorX 的架构确保数据将直接从源复制到目标一次。
https://www.bilibili.com/video/BV1HK4y1Q7EA
在 Rust 中,fs 模块提供了文件系统操作的函数,包括向文件写入数据。其中一个常用的函数是 fs::write,它允许用户将数据写入文件。然而,重要的是要注意,fs::write 不会自动刷新或同步数据到磁盘,如果不正确处理,可能会导致潜在的数据丢失或不一致性问题。
区别于互斥锁(Mutex)是对共享资源的独占访问,Semaphore 允许指定多个并发访问共享资源。
0.3版本支持tokio0.2,如果你在使用tokio0.2-alpha.6 请使用0.2版本
这不是闹着玩儿的操作系统了,这可是面向商业的正式的操作系统(一个 Linux 发行版)。官网地址在这里
axum是Rust生态的web框架新秀,虽然项目成立不久,但github上的star数已超2.8k,其底层依赖的是高性能的Tokio,Tokio这货就不多说了,借用知乎《深入浅出Rust异步编程之Tokio》上的一张图:
Cargo now has native support for the cargo add command (from the cargo-edit crate)!
本文简单介绍了在Rust中编写一个工程性更强的组件(crate)所必须要遵循的一些原则:
来自 MongoDB 官方支持的 MongoDB Rust 驱动程序,该客户端库可用于与 Rust 应用程序中的 MongoDB 部署进行交互。同时 BSON 的支持取决于社区支持的 bson 库。(目前为 alpha 版本)
Rust 团队非常高兴地宣布 Rust 的新版本 1.43.0 发布,这个版本是相当小的的一个版本,没有新的主要功能。该版本提供了一些新的稳定的 API,以及一些编译器的性能改进以及与宏相关的小功能,请看请看官博参阅详细的发行说明,以了解本文未涵盖的其他更改:https://blog.rust-lang.org/2020/04/23/Rust-1.43.0.html
Zenoh是一个基于async_std的异步零开销发布/订阅、存储/查询和计算框架,Zenoh是用Rust编写的,它利用异步特性来实现高性能和可扩展性。
Rust 生态中,不谈官方的 Future trait,成熟可供生产环境使用的异步运行时,主要有三类:
这个运行环境库扩展了rust语言标准类库 并结合了异步机制,仅用1500行代码写成!请大家阅读文档 并参考提供的例子这样就可以开始自己动手写具有异步运行机制的程序了。
Ballista-0.4.0 已于昨天发布。Ballista是主要在Rust中实现的分布式计算平台,由Apache Arrow支持。
嗨,大家好!我一直在为rust的taskwarrior开发终端用户界面,我想在这里分享。您可以在发布页面上找到源代码和预编译的二进制文件。
在之前的用 Rust 搭建 React Server Components 的 Web 服务器我们利用了Axum构建了RSC的服务器。也算是用Rust在构建Web服务上的小试牛刀。
“什么时候会有 Rust IDE?” 这是用户经常提出的问题(八年了,你知道这八年我怎么过的吗?),现在,JetBrains 宣布这一天已经到来:它就是 JetBrains 独立 Rust IDE – RustRover。
由图可见,tokio 生态目前在网络服务和Web 开发方面基本的核心组件都已齐全。尤其是随着 Axum 框架的推出,tokio 在 Web 生态已接近完备。
本文使用Tokio直接构建 Actors, 而不是使用任何现有的 actor 库.
这是一个与 WebAssembly Package Manager 和 WebAssembly Interfaces("WAI")整合的工具,可以创建可以从其他语言导入的包。
Rust 作为第二语言被引入 Linux 内核,虽然目前是实验性质,但对每一个 Rustaceans 来说都是一件值得关注的大事。本文通过编写一个简单的字符设备驱动,带领我们了解如何通过 Rust 为 Linux 编写内核模块。
tokio 官方团队近日发布了 async-backtrace 的初个版本,旨在让开发者能够高效地追踪应用中异步任务的状态。
Deno 1.0 发布 deno.land 中的有很大一部分核心代码是使用 Rust 实现的,现在 deno 已经正式发布 1.0 版本啦 ??? Deno 是一个新的运行时,用于在 Web 浏览器之
warp is a super-easy, composable, web server framework for warp speeds.
来自 Grapl 的博客文章。在 Grapl,我们相信为了构建最好的防御系统,我们需要深入了解攻击者的行为。作为该目标的一部分,我们正在投资于进攻性安全研究。随时关注我们的博客,了解有关高风险漏洞、利用和高级威胁策略的新研究。
而如果想使用RSC,就需要使用Next.js的最新版本。而今天,我们做一次技术尝试。
用过 Rust 的应该都知道,tokio 是异步编程的基石,很多框架都是基于 tokio 之上构建的。目前一些 ClickHouse 的客户端代码比较陈旧,使用的 tokio 版本很低 (0.x)。
Niko Matsakis 和 Tyler Mandry 代表 Async 工作组发布了一篇文章,阐述了在 2022 年异步 Rust 的改进计划。
Repo: https://github.com/sivadeilra/vec_option
Blog:https://blog.hidva.com/2021/09/14/kbio/
领取专属 10元无门槛券
手把手带您无忧上云