文章目录
1.Atlas读写分离简介
Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它是在mysql-proxy 0.8.2版本的基础上,对其进行了优化,增加了一些新的功能特性。
Atlas是一个位于应用程序与MySQL之间中间件。在后端DB看来,Atlas相当于连接它的客户端,在前端应用看来,Atlas相当于一个DB。Atlas作为服务端与应用程序通讯,它实现了MySQL的客户端和服务端协议,同时作为客户端与MySQL通讯。它对应用程序屏蔽了DB的细节,同时为了降低MySQL负担,它还维护了连接池。
360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。
Atlas下载地址:https://github.com/Qihoo360/Atlas/releases
Atlas读写分离中间件的架构图:
业务平台直接连接Atlas中间件,由Atlas中间件连接Mysql主从复制集群,当有读取操作时,Atlas会将读取操作路由到从库进行处理,当有写入操作时,Atlas胡一江写入的操作路由到主库进行处理。