面试常见问题——架构

高可用-脑裂:

两个机器都认为自己是主机,争抢资源。

1、机器之间是物理线发送心跳,故可冗余备份;

2、发现心跳线断开就锁住共享磁盘;

3、仲裁机制,心跳线断开之后两个节点去ping参考ip,不通的放弃竞争并且重启释放共享资源



ID生成器(趋势递增 + 高可用):
1、VIP + keepalive作为id-service,底层双主库做写操作,数据库中保存当前id最大值
2、类似snowflake算法,64位的id,使用毫秒数 + 业务线 + 机器号 + 毫秒内序列号等字段填充



MySQL双主库(写库高可用):

1、并发引起的,同步时发现数据冲突,同步失败。两库初始值不同,步长相同。

2、上游业务层生成趋势递增的ID

3、双主库是两个库均提供写操作,可以单点写入 + VIP + keepalive

4、3中极限情况(master写入数据但还未同步到slave时,master挂掉,直接切到没有最近写入那条数据的slave中),用脚本内网DNS检测master,如果挂掉,设定一个同步时间x秒,之后再接管IP,保证延时高可用



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值