机房停电,再牛逼的技术都歇菜。
难道无解了没,一查说是用UPS就行,但是UPS也会跳电。估计吧蓄电池时间长了。
那么既然停电无法避免,就得异地机房即可,总不会都停电。
一、那一个域名怎么映射到2个机房呢?
dns,不同省,不同运营商都有dns,可配
二、每个机房都一顿搭建redis,mysql,kafka等基础服务
1、mysql是多地同步的,怎么同步,正常应该保证一条不丢失。
(1)程序自己双写,双写怎么事务一致性,就是能实现也影响性能
(2)定时同步,不保证不丢失,但是业务影响小,可以的
(3)要是量子技术成熟,搞量子纠缠就行了,哈哈哈
2、redis缓存区分,一种是纯放到缓存中的,这种和mysql一样同步,一种是仅仅作为缓存的只用各自机房即可。
三、假设一个rpc提供用户注册查询服务,配mysql肯定不能写死了。搞个zk取动态地址,那么部署A地,B地都从各自的zk取得A地的mysql地址,那么当A地停电后,切换B机房zk的mysql地址到B地。
四、一个web服务,对app的,也是调对应机房的rpc。没毛病
五、现实问题,多个机房挺贵的,等于花多一倍的钱,又不能不出
各位有啥省钱办法