分布式八股文

马肤
这是懒羊羊

什么是分布式系统?

CAP原则?

对应的有哪些模型?

BASE理论?

分布式锁?

  • 预想一下这把锁应该是怎样的?要是一把互斥锁、可重入的锁,最好是阻塞锁(看业务需求),能够获取和释放锁,同时效率要高。
  • MySQL:比如创建一张锁表,作唯一性约束,加锁添加数据,释放锁删除
    • 缺点:
      • 锁没有失效时间,没有释放,就没办法访问了--启定时任务
      • 只能是非阻塞的--while死循环
      • 不可重入--判断线程信息
      • 数据库挂了,就进不去了--两个库,数据双向同步
      • 开销大
  • Zookeeper:用的少
  • Redis:
    • set resourceName value ex 5 nx 新命令
    • 怎么避免被其他客户端释放了:有finally,没拿到锁,但是finally执行这种,加上一些业务单号,线程ID这种判断。
    • 实现可重入锁:和Reentrantlock差不多,实现Lock,加上个守护线程(主要就是为MAP里的续期,不依赖于具体的线程,负责这台机器上的所有锁),然后定时任务TimeTask过期时间/3去续期,主要是从一个MAP里面获取KV对,有才续期,不够了就Lua续期。

文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:表情:
评论列表 (暂无评论,0人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码