ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust日报】2023-01-03 turmoil - 由 Tokio 推出用于开发和测试分布式系统的框架

【Rust日报】2023-01-03 turmoil - 由 Tokio 推出用于开发和测试分布式系统的框架

原创 数据库开发技术 作者:Rust语言中文社区 时间:2023-01-04 23:30:15 0 删除 编辑

turmoil - 由 Tokio 推出用于开发和测试分布式系统的框架

测试分布式系统比较困难,很多不确定性(比如:网络、时间、线程等),使得可重复的结果难以实现。
turmoil通过模拟主机、时间和网络来解决这些问题。可以使整个分布式系统在一个单进程的单一线程中运行,实现确定性的执行。还提供了对网络的细粒度控制,支持在主机之间丢弃、保留和延迟消息。
ReadMore: https://tokio.rs/blog/2023-01-03-announcing-turmoil

alloc-track

这个项目允许按每个线程和每个回溯实时内存剖析。
用法:

alloc-track = "0.2.3"

use alloc_track::{AllocTrack, BacktraceMode};
use std::alloc::System;

#[global_allocator]
static GLOBAL_ALLOC: AllocTrack<System> = AllocTrack::new(System, BacktraceMode::Short);
3.调用 alloc_track::thread_report() 或 alloc_track::backtrace_report() 来生成一个报告。
ReadMore:https://crates.io/crates/alloc-track

sync_cow - 线程安全的写时克隆容器,用于快速并发写入和读取。

读取是无锁的,并立即返回。写入只被其他写入所禁止,而不会被任何读取所禁止。一个只有一个写者和任意一个读者的系统永远不会阻塞。
例子:
  • Simple Read/Write - Simple showcase of functionsSyncCow
  • Thread Read/Write - Sharing a between threads using for concurrent accessSyncCowstd::sync::Arc
ReadMore: https://crates.io/crates/sync_cow

如何在 Rust 中生成没有三方库依赖的随机数

随机数非常有趣。感觉就像魔术一样,我们可以从确定性来源产生这种不可预测的熵。
但这是如何发生的呢?在开始在 Rust 中生成随机数之前,让我们先了解随机数生成的过程,以及如果没有特殊的硬件,就永远无法创建真正的随机性。
...
ReadMore:https://blog.orhun.dev/zero-deps-random-in-rust/

From 日报小组 冰山上的 mook && MalikHou
社区学习交流平台订阅:
  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区

原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-06-11

  • 博文量
    1769
  • 访问量
    718547