13年底负责数据库中间件设计时的调研笔记,拿出来和大家分享,轻拍。

一、Atlas是什么

  • 奇虎360的一个mysql数据库中间层项目
  • 在mysql官方推出的mysql-proxy0.8.2的基础上改的
  • 基于服务端的中间件

画外音:数据库中间件有基于服务端的,也有基于客户端的,TDDL属于后者;而cobar和Atlas是一个中间层服务,属于前者。

二、Atlas相对mysql-proxy的优势

既然Atlas是基于mysql-proxy改的,有一些什么优化呢?

  • 主流程中的Lua脚本用C重写
  • 网络模型,线程模型重写
  • 实现了“真正意义”上的连接池,真正连接复用
  • 优化了锁机制,性能提高数十倍

画外音:性能提高数十倍是传说,用过的同学可以出来说一说。

官方mysql-proxy主库宕机从库亦不可用,Atlas优化为可读不可写

优化之外,还新增了什么特性呢?

  • ip过滤
收藏 打印