u****p 发帖数: 526 | 1 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个
大牛给给说说这种问题怎么处理比较好? |
x********u 发帖数: 1150 | |
u****p 发帖数: 526 | |
c***w 发帖数: 134 | 4 她的意思是通过commit log做log replay |
j**********r 发帖数: 3798 | 5 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load
一遍,这中间不保证一致。
【在 u****p 的大作中提到】 : 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个 : 大牛给给说说这种问题怎么处理比较好?
|
A********l 发帖数: 184 | 6 cache会有写入。不少于10个字
: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重
新load
: 一遍,这中间不保证一致。
【在 j**********r 的大作中提到】 : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load : 一遍,这中间不保证一致。
|
u****p 发帖数: 526 | 7 为什么重新load之后也不保证一样呢?
load
【在 j**********r 的大作中提到】 : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load : 一遍,这中间不保证一致。
|
u****p 发帖数: 526 | 8 能具体说说吗? 谢谢啊
【在 A********l 的大作中提到】 : cache会有写入。不少于10个字 : : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重 : 新load : : 一遍,这中间不保证一致。 :
|
w*****w 发帖数: 53 | |
g*********e 发帖数: 14401 | 10 你这个问题太general了
用什么database, 用什么cache。解决什么问题,避免什么情况。
你这些都不说,别人怎么说。 |
|
|
n**********r 发帖数: 43 | 11 只能以数据库为准再load一遍吧?谁知道哪儿crash了。
只要保证crash后用户知道crash了,他刚才的操作可能无效就OK了吧 |
p*******8 发帖数: 344 | 12 只要你系统设计没问题,很简单,把cache里的数据删掉,如果performance有问题,写
个script warm up一下就好
【在 u****p 的大作中提到】 : 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个 : 大牛给给说说这种问题怎么处理比较好?
|
w**z 发帖数: 8232 | 13 commit log 更接近。
【在 w*****w 的大作中提到】 : 参考一下吧? : https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/ : opsRepairNodesHintedHandoff.html
|
w**z 发帖数: 8232 | 14 那是 cache 实现的问题,没有 完成persist ,就不应该 ack success.
【在 A********l 的大作中提到】 : cache会有写入。不少于10个字 : : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重 : 新load : : 一遍,这中间不保证一致。 :
|
u****p 发帖数: 526 | 15 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个
大牛给给说说这种问题怎么处理比较好? |
x********u 发帖数: 1150 | |
u****p 发帖数: 526 | |
c***w 发帖数: 134 | 18 她的意思是通过commit log做log replay |
j**********r 发帖数: 3798 | 19 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load
一遍,这中间不保证一致。
【在 u****p 的大作中提到】 : 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个 : 大牛给给说说这种问题怎么处理比较好?
|
A********l 发帖数: 184 | 20 cache会有写入。不少于10个字
: 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重
新load
: 一遍,这中间不保证一致。
【在 j**********r 的大作中提到】 : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load : 一遍,这中间不保证一致。
|
|
|
u****p 发帖数: 526 | 21 为什么重新load之后也不保证一样呢?
load
【在 j**********r 的大作中提到】 : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重新load : 一遍,这中间不保证一致。
|
u****p 发帖数: 526 | 22 能具体说说吗? 谢谢啊
【在 A********l 的大作中提到】 : cache会有写入。不少于10个字 : : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重 : 新load : : 一遍,这中间不保证一致。 :
|
w*****w 发帖数: 53 | |
g*********e 发帖数: 14401 | 24 你这个问题太general了
用什么database, 用什么cache。解决什么问题,避免什么情况。
你这些都不说,别人怎么说。 |
n**********r 发帖数: 43 | 25 只能以数据库为准再load一遍吧?谁知道哪儿crash了。
只要保证crash后用户知道crash了,他刚才的操作可能无效就OK了吧 |
p*******8 发帖数: 344 | 26 只要你系统设计没问题,很简单,把cache里的数据删掉,如果performance有问题,写
个script warm up一下就好
【在 u****p 的大作中提到】 : 看到个面经问在service的某步crash后,怎么解决数据库和cache的数据不一致?哪个 : 大牛给给说说这种问题怎么处理比较好?
|
w**z 发帖数: 8232 | 27 commit log 更接近。
【在 w*****w 的大作中提到】 : 参考一下吧? : https://docs.datastax.com/en/cassandra/3.0/cassandra/operations/ : opsRepairNodesHintedHandoff.html
|
w**z 发帖数: 8232 | 28 那是 cache 实现的问题,没有 完成persist ,就不应该 ack success.
【在 A********l 的大作中提到】 : cache会有写入。不少于10个字 : : : 这有什么好想的,invalidate cache就行了。如果怕撑不住,不invalidate,重 : 新load : : 一遍,这中间不保证一致。 :
|
u****p 发帖数: 526 | 29 我也是面经上看来的问题。
那如果是mysql 该怎么处理?
如果是cassandra该怎么处理?
比如很多人下单付款,到一半的时候crash了,这种情况怎么处理?(不知道是不是问
这种)
【在 g*********e 的大作中提到】 : 你这个问题太general了 : 用什么database, 用什么cache。解决什么问题,避免什么情况。 : 你这些都不说,别人怎么说。
|