service crash后,怎么解决database和cache数据不一致?# JobHunting - 待字闺中u*p2017-03-09 08:031 楼看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个大牛给给说说这种问题怎么处理比较好?
j*r2017-03-09 08:035 楼这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load一遍,这中间不保证一致。【在 u****p 的大作中提到】: 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个: 大牛给给说说这种问题怎么处理比较好?
A*l2017-03-09 08:036 楼cache会有写入。不少于10个字: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load: 一遍,这中间不保证一致。【在 j**********r 的大作中提到】: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load: 一遍,这中间不保证一致。
u*p2017-03-09 08:037 楼为什么重新load之后也不保证一样呢?load【在 j**********r 的大作中提到】: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load: 一遍,这中间不保证一致。
u*p2017-03-09 08:038 楼能具体说说吗? 谢谢啊【在 A********l 的大作中提到】: cache会有写入。不少于10个字: : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重: 新load: : 一遍,这中间不保证一致。:
w*w2017-03-09 08:039 楼参考一下吧?https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsRepairNodesHintedHandoff.html
p*82017-03-09 08:0312 楼只要你系统设计没问题,很简单,把cache里的数据删掉,如果performance有问题,写个script warm up一下就好【在 u****p 的大作中提到】: 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个: 大牛给给说说这种问题怎么处理比较好?
w*z2017-03-09 08:0313 楼commit log 更接近。【在 w*****w 的大作中提到】: 参考一下吧?: https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/: opsRepairNodesHintedHandoff.html
w*z2017-03-09 08:0314 楼那是 cache 实现的问题,没有 完成persist ,就不应该 ack success.【在 A********l 的大作中提到】: cache会有写入。不少于10个字: : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重: 新load: : 一遍,这中间不保证一致。:
j*r2017-03-09 08:0319 楼这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load一遍,这中间不保证一致。【在 u****p 的大作中提到】: 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个: 大牛给给说说这种问题怎么处理比较好?
A*l2017-03-09 08:0320 楼cache会有写入。不少于10个字: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load: 一遍,这中间不保证一致。【在 j**********r 的大作中提到】: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load: 一遍,这中间不保证一致。
u*p2017-03-09 08:0321 楼为什么重新load之后也不保证一样呢?load【在 j**********r 的大作中提到】: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load: 一遍,这中间不保证一致。
u*p2017-03-09 08:0322 楼能具体说说吗? 谢谢啊【在 A********l 的大作中提到】: cache会有写入。不少于10个字: : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重: 新load: : 一遍,这中间不保证一致。:
w*w2017-03-09 08:0323 楼参考一下吧?https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsRepairNodesHintedHandoff.html
p*82017-03-09 08:0326 楼只要你系统设计没问题,很简单,把cache里的数据删掉,如果performance有问题,写个script warm up一下就好【在 u****p 的大作中提到】: 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个: 大牛给给说说这种问题怎么处理比较好?
w*z2017-03-09 08:0327 楼commit log 更接近。【在 w*****w 的大作中提到】: 参考一下吧?: https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/: opsRepairNodesHintedHandoff.html
w*z2017-03-09 08:0328 楼那是 cache 实现的问题,没有 完成persist ,就不应该 ack success.【在 A********l 的大作中提到】: cache会有写入。不少于10个字: : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重: 新load: : 一遍,这中间不保证一致。:
u*p2017-03-09 08:0329 楼我也是面经上看来的问题。那如果是mysql 该怎么处理?如果是cassandra该怎么处理?比如很多人下单付款,到一半的时候crash了,这种情况怎么处理?(不知道是不是问这种)【在 g*********e 的大作中提到】: 你这个问题太general了: 用什么database, 用什么cache。解决什么问题,避免什么情况。: 你这些都不说,别人怎么说。