HA:High Available

Mysql proxy

Mysql proxy 的意义在于:

  • 单机数据库不满足需求,需要多实例、多机部署
  • 基于 mysql serverclient 的中间层,对前端透明,对 DB 则是一个客户端
  • 读写分离
  • 分表路由
  • 连接池
  • sql 黑名单:如 不带 where 条件的 updateinsert 等语句。
  • web 化 的管理界面

下面是一些开源的技术方案。

  • mysql-proxyMysql 官方的方案

  • druid:阿里巴巴开源的数据库连接池

  • Atlas:奇虎360开源的 Mysql proxy,基于 [mysql-proxy]

  • Mycat-Server:国内开源社区的集成方案,基于原阿里中间件 Cobar 进行的二次开发。

uuid

关于 全局id 的生成,也即有很多方案,目的是为了构造一个全局的、趋势递增、独一无二的 整型id

大体思想是以 命名空间 形式构造:

1
版本号 + 时间 + 机器号 + 序列号(一个自增序列)

因为是基于 时间,所以会存在 时钟回拨 的问题。