九笑站有两台位于不同园区阿里云ECS(Elastic Compute Service,简称ECS),其中某园区有台RDS(Relational Database Service,简称RDS)。非同园区的ECS访问RDS,延时较高。从前端来看,由400ms上升到了2.5s。访问延时大幅上升,不能忍。对比了cache方案和双数据库方案。
方案 | 方法 | 优势 | 劣势 |
---|---|---|---|
cache方案 | 部署cache,优先访问本地cache降低延时 | 性能高 | 维护cache一致性代价高,逻辑改动大 |
本地数据库方案 | 部署从数据库,主数据库为RDS | 逻辑代码变动少 ,同时备份数据 | 性能差一点 |
从上诉两种方案,使用cache的代价高收益不高,故选择了第二种方案:主备数据库方案。采用主备数据库,优势在于自建数据库日常继续可读,写的时候写RDS,当RDS到期需要替换时,可以无缝替换。
第一步: 搭建自建数据库。 自建数据库需要版本和阿里云RDS数据库版本比较接近。我的阿里云RDS为5.7.26-log版本,第一次安装的数据库为5.5,导致配置主备一直不成功。 步骤如下,若该步骤过期了,请检索下相应的安装方法。 数据库可以通过国内的yum源安装。
[root@~ ]# cat /etc/yum.repos.d/mysql-community.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.tuna