【Rust日报】2022-06-17 在 Pisa-Proxy 中,如何利用 Rust 实现 MySQL 代理

2022-11-28 15:14:25 浏览数 (1)

在 Pisa-Proxy 中,如何利用 Rust 实现 MySQL 代理

在 Database Mesh 中,Pisanix 是一套以数据库为中心的治理框架,为用户提供了诸多治理能力,例如:数据库流量治理,SQL 防火墙,负载均衡和审计等。在 Pisanix 中,Pisa-Proxy 是作为整个 Database Mesh 实现中数据平面的核心组件。Pisa-Proxy 服务本身需要具备 MySQL 协议感知,理解 SQL 语句,能对后端代理的数据库做一些特定的策略,SQL 并发控制和断路等功能。在这诸多特性当中,能够理解 MySQL 协议就尤为重要,本篇将主要介绍 MySQL 协议和在 Pisa-Proxy 中 MySQL 协议的 Rust 实现。

  • https://mp.weixin.qq.com/s/0mnr17j2mt4bHVmL2uIAwQ
异步取消:mini-redis 中的 pub-sub 案例研究

mini-redis 是来自 tokio 项目的一个非常酷的示例代码。它实现了 redis 内存数据存储的“微型”版本,专注于 redis 的键值和发布订阅方面。具体来说,客户端可以连接到 mini-redis 并发出 redis 命令的子集。作者对 mini-redis 的订阅模型进行了解读,并一起讲解了在订阅过程中如何异步处理线程,以及细粒度的取消 select 是许多可靠性问题的根本原因的解释。

  • https://smallcultfollowing.com/babysteps/blog/2022/06/13/async-cancellation-a-case-study-of-pub-sub-in-mini-redis/
深入了解异步 I/O:Rust 中的状态机、事件循环和非阻塞 I/O 系统调用
  • https://www.youtube.com/watch?v=_3LpJ6I-tzc

From 日报小组 侯盛鑫,坏姐姐

社区学习交流平台订阅:

  • Rust.cc 论坛: 支持 rss
  • 微信公众号:Rust 语言中文社区

0 人点赞