我眼中的异地双活与单元化部署

我眼中的异地双活与单元化部署_第1张图片

1 单元化也需要适应场景,比如秒杀的场景,数据同步很明显延时超过了大秒速度;如果采用单元化部署,必然会出现多中心库存无法实时一性;

我们的场景,存在用户从第三方引流过来,离不开登录;

假设登录qps达到了100万,没有缓存;此时线上部署1000台用户服务,每个服务即使持有20的db连接,此时用户的db也抗不住,这时就需要进行单元化部署:[假设我们的rt非常优秀,能扛住1000的登录qps]

采用同城双活的方案,这样每个机房部署500台用户服务,db多了一倍,此时对db的压力就会大大降低!

此外如果采用同城说话方案,我们的系统可用性也会大大提高,就是一个机房挂掉,还有另外一个机房工作

2 双活的技术手段,离不开dts工具,同时也存在了很多问题,比如数据回环,数据延时:

    针对数据延时,是没办法避免的,所以对场景也有了要求

    针对数据回环,则需要对数据层做相应的处理,笔者也没有全部的实践经验。

    以数据库来说,我们可以采用gtid功能,在mysql层面开启binlog,gtid等相关功能,在获取binlog的时候携带gtid进行增量处理,则可以避免数据回环

实现了单元化,一般来说也就实现了最基本的双活的方案

你可能感兴趣的:(架构设计,java)