??????
????????????????ó???????????Ч????Σ????統(tǒng)??????????????????????????????????????????????????漰?????????????????????????????????????????????????????????к?????????ZooKeeper???????????Mysql???????????????????λ???Redis????????????
?????????????
????????????????????????????????????
????1???κ????????????????????????????????
????2?????????????????????????????????????????????????
????3???????????????????д????Redis????????????????????????
?????????????
??????????????????г?????????????????????????????Redis???????????
???????Redis??????????????????key???????key???????????????????????????Redis?????????????????????????????????????????????????????delete???key???ɡ?
????Sofarsogood!?????и?????????????Redismaster?????????????????????slave????master???????????л???slave????????????μ?????????Redis???????????????????????????????????????????
???????????к??????????
????1??Client??Master????????????
????2??master???????????slave????????
????3??slave???????master??
????4??ClientB??????????????????????????
?????????????????????????????????????????????????????????????????????????????????????
????????Redis?????????
??????????????????????????????????????????λ???Redis?????????????????????????淽?????????
????SETresource_namemy_random_valueNXPX30000
?????????????????е?key?????????????г????NX????????????ù???????30000ms??PX?????key??????????my_random_value???????????????????б??????????????randomvalue???????????????????????????????
????ifredis.call("get"??KEYS[1])==ARGV[1]then
????returnredis.call("del"??KEYS[1])
????else
????return0
????end
??????е?key????????????????????????key?????????????????????????????????????????磬??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????У??????????????key??????????????????????????????????е?????????DEL??????????????????п?????????????????е????????????????????????λ?????????????????????????????????????????????????????е??????????????????
??????????????????????Redis????????????????????????????????????????Redis??????????????????
????????Redlock???????
??????????????£???????????N??master????Щ?????????????????????????????????????????????????????????????????????????????????????????Щ??N=5?????????????????????????
????1???????????????????????λ??
????2????????N??Redis???????????????????ж????????key??value???????2?У????????????????????С????????????磬??????????????10s???????????????5~50ms??????????????????????????????????????????????????
????3?????????ζ????????????????????????????С??key???????????????????????3?????????????????????????????????λ?????????
????4?????????????????????????????????????????????
????5?????????????????????????????????????????????????
???????
??????????????????Redis??????????????????????????????Redis??????Redis??????????????????