美文网首页
Atlas调研

Atlas调研

作者: 单车变摩托_0463 | 来源:发表于2018-11-13 15:47 被阅读0次

简介

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

相比于mysql-proxy,Altas有哪些优势:

  • 主流程中的Lua脚本用C重写
  • 网络模型,线程模型重写
  • 实现了“真正意义”上的连接池,真正连接复用
  • 优化了锁机制,性能提高数十倍
  • 官方mysql-proxy主库宕机从库亦不可用,Atlas优化为可读不可写
  • ip过滤
  • 分表支持
  • dba可平滑上下线db
  • 自动摘除宕机db
  • ...

分表功能

为了支持分表,需要增加分表设置

tables = $db_name
    .$table_name
    .$partition_column_name
    .$table_count

例如

tables = waka:sku:id:100

数据库名叫waka
表名叫sku
分表字段叫id
总共分为100张表

这100张子表需要用户手动逐个建立的,sku_0, sku_1, sku_2, … sku_99,并且所有的子表必须在一个数据库里。

Atlas支持select, delete, update, insert, replace操作,它会根据$partition_column_name 的值来对表的个数进行取模,以定位到sql请求要落到哪个子表。

需要注意的是,sql语句必须带上分表id作为查询条件,如果不带上id,则会提示stu表不存在。

参考

架构师之路 atlas调研笔记

相关文章

网友评论

      本文标题:Atlas调研

      本文链接:https://www.haomeiwen.com/subject/phdlfqtx.html