作者回复: 是的👍
作者回复: 1. 如果B节点剔除,那么K2的读写都会到C节点上
2. 命中率会下降,因为B节点没有被删除的时候,C节点上是没有K2数据的。B节点剔除后,第一次从C节点获取K2数据是要穿透的
作者回复: 是的 :)
作者回复: 算法上不太一样哦
作者回复: 1. 写入的时候中缓存,这样从缓存里面读就实时了
2. 直接读主库
作者回复: 其实更多的会在redis和mysql之间增加并发的控制,因为redis还是可以扛很好的并发的
作者回复: 指的是你的应用服务器,是缓存的使用者
作者回复: 1. 会考虑分片
2. 是的
作者回复: 算是吧~
作者回复: 多副本你可以认为是缓存的缓存,也就是在缓存之上再加一组缓存,可以解决单组缓存的带宽瓶颈
而在实践过程中,因为大部分流量都会被副本承担,master和slave的数据有可能会变得不热,所以可以把master和slave当做副本
作者回复: 这个和sentinal无关的。只要做了主从分离,读的都是slave节点。sentinal是来监控主库,在主库出现问题的时候可以帮助你做从库提主
作者回复: 每个副本里面都有热数据
作者回复: 多副本应该可以一定程度上缓解热点数据的问题,因为它的一个主要作用就是抗流量
本地缓存确实可以解决热点的问题
作者回复: 服务端方案是组件自带的,代理层是在组件之上的
作者回复: 是的,因为虚拟了多个节点,这些节点会分布在圆环的多个位置
作者回复: 在一致性hash下,如果删除一个节点,比如在一个环上有a,b,c三个节点,b故障,那么只有b的数据会迁移到c上;但是普通hash会重新计算hash值,理论上会影响所有的数据