@
sampeng Google:distributed lock library
1. Distributed locks with Redis – Redis
2. madelson/DistributedLock: A .NET library for ... - GitHub
其中 Redis 部分就是 Redlock
3. Kleppmann's blog 之前提到的
4. Everything I know about distributed locks | by Davide Cerbo
推荐了 ShedLock, 和 ZK 、ETCD 没细看 ShedLock,但是看起来不是 Redlock 衍生物
5. Distributed lock manager - Wikipedia
Redis can be used to implement the Redlock Algorithm for distributed lock management.[10]
呵呵
6. The Top 7 Distributed Locks Open Source Projects
猜猜 Redlock 出现了几次
7. Distributed Locks are Dead; Long Live Distributed Locks
看起来是没啥问题。
8. Everything I Know About Distributed Locks - DZone Database
和 4 一样
9. Building Distributed Locks with the DynamoDB Lock Client
没有细看。看到 heartbeat every 10 seconds 就说明和 Redlock 是一个意思
10. distributed locking - npm search
猜猜这里面有几个 redis ?又有几个 Redlock ?
这就是 Google 第一页。你觉得这够不够垃圾?
垃圾文哪都有,英文社区也不比中文社区少。
至于多少钱需要考虑可靠性的问题,我就提几个:
1. 阿里抢月饼
2. 2010 flash crash,有一说是高频交易程序出 bug,或者 fat finger,然后触发做市商程序挂起。请问这种事情是多少概率?
3. Ariane 5,就问这个 bug 贵不贵?
事实就是,这个世界并不是这么的可靠。有相当多的人其实根本无法理解其重要性。同时也有相当多的人理解但选择忽视。当然咱不是故意去写 bug 。但是如果一共也就几万块钱的系统,管的是不那么重要的东西,你觉得老板会希望你多花一个月时间去实现一个可以提供形式验证的软件吗?你一个月工资也要几千了。
还有电商搞促销活动,抢占市场重要还是不被撸 bug 重要?大不了事后砍单就是了。甚至还有故意塞漏洞就是吸引你来撸的。
任何事情,都有其机会成本。实践中,重点不是绝对无 bug,而是在某些关键节点做好 damage control,同时完善日志,确保出了问题以后能够查到原因。很多时候,这就够了。