实录|互联网架构“高可用”在线技术交流
原创 2016-12-06 58沈剑+GitChat 架构师之路 架构师之路 架构师之路 微信号 功能介绍 架构师之路,坚持撰写接地气的架构文章 前段时间,受@谢工 邀请,在GitChat平台首发《 究竟啥才是互联网架构“高可用” 》。 12月01日周四晚8点30分,在微信群进行了针对该文章的的主题交流。以下是主持人 @赫阳 整理的问题精华,记录下了我和读者之间关于高可用架构的问答精彩片段。 问答中所有文章都是可以直接点击跳转的哟。 问:在缓存层rehash过程中必然会有脏数据。一致性hash实际上只能减少rehash的成本,不能消灭脏数据,这种脏数据有没有办法避免? 答:如文章《 究竟啥才是互联网架构“高可用” 》所述,如果没有高可用需求,一台 cache 挂了,不宜做rehash,会产生脏数据。此时对挂掉cache的key可以直接返回 cache miss。 问:从您后面的回答来看,这其实也是“降级”的一种,这样以后是直接把请求打到后端的数据库上么?还是直接抛弃请求?如果发生雪崩效应,miss的请求越来越多,如果miss的都打库的话,库马上就会挂了。 这一块老师能再展开讲一讲么? 答:打到数据库上,cache集群的份数和数据库能抗多少读有关。理论上1-2份挂掉,数据库能抗住。58的做法,有一个 backup mc集群,有挂了可以顶上,不建议rehash。高可用的代价是冗余