使用 Rust 构建生产级微服务
这个由sanyi编写的博客系列 “在Rust中构建生产就绪微服务” 涵盖了Rust中构建生产就绪微服务的过程。以下是每篇博客的主要主题总结:
- 实现一种简单的模式,以向应用程序添加多个CLI子命令。
- 使用sqlx和SeaORM连接到PostgreSQL数据库。
- 改进错误处理,在JSON解析错误时返回JSON响应。
- 使用OpenTelemetry将追踪数据转发到SigNoz。
该系列覆盖了从项目设置到数据库集成、身份验证、授权、错误处理和跟踪等一系列主题。每篇博客都提供实际见解和实际示例,指导在Rust中构建生产就绪微服务。原文链接 https://apatisandor.hu/tags/dog-shelter/
Arc<str>和 String 性能对比
本文讨论了 Arc 和String之间的性能差异,以及在多线程情况下,为什么有时候String的性能可能超过Arc。实验结果表明,在单线程情况下,Arc的克隆性能通常优于String。然而,在多线程情况下,Arc的性能可能受到原子引用计数的争用的影响,从而导致性能下降,而String则通过Jemalloc的线程本地内存池避免了这种问题。文章还通过strace命令和内存映射的分析,说明了在不释放String的情况下,Jemalloc可能会导致性能下降,因为它需要频繁地调用mmap系统调用。总的来说,文章建议在大多数情况下,克隆Arc通常比String更快。但在高度争用的多线程情况下,由于原子引用计数的锁争用,性能可能下降。因此,作者建议在面临性能瓶颈时,不仅仅盲目地优化克隆操作,而是应该仔细测量和评估不同的优化策略。原文链接 https://blocklisted.github.io/blog/arc_str_vs_string_is_it_really_faster/通过Rust AWS SDK 探索API 设计
本文介绍了AWS SDK for Rust的设计概述和实际使用指南。主要内容包括SDK结构、配置和认证、三种SDK配置方法、使用AWS服务的基本步骤、Fallible操作和模块、方法命名和返回类型、异步操作和Builder模式的代价、Blob和Bytestream类型、Rust类型系统的有趣方面以及总结展望。原文链接 https://sanjeevi.hashnode.dev/exploring-the-aws-sdk-for-rust-design-overview-and-practical-usage-guide
原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。