当前位置: 首页 > news >正文

上海自适应网站开发免费空间有哪些

上海自适应网站开发,免费空间有哪些,淮南网上办事大厅官网,网站商城app建设方案上一篇 #xff1a;26.分布式服务框架Dubbo面试题简析 1. redis 分布式锁 官方叫做 RedLock 算法#xff0c;是 redis 官方支持的分布式锁算法。这个分布式锁有 3 个重要的考量点#xff1a; 互斥#xff08;只能有一个客户端获取锁#xff09;不能死锁容错#xff08;…上一篇 26.分布式服务框架Dubbo面试题简析 1. redis 分布式锁 官方叫做 RedLock 算法是 redis 官方支持的分布式锁算法。这个分布式锁有 3 个重要的考量点 互斥只能有一个客户端获取锁不能死锁容错只要大部分 redis 节点创建了这把锁就可以 RedLock 获取锁基本思想 这个场景是假设有一个 redis cluster有 5 个 redis master 实例。然后执行如下步骤获取一把锁 获取当前时间戳单位是毫秒跟上面类似轮流尝试在每个 master 节点上创建锁过期时间较短一般就几十毫秒尝试在大多数节点上建立一个锁比如 5 个节点就要求是 3 个节点 n / 2 1客户端计算建立好锁的时间如果建立锁的时间小于超时时间就算建立成功了要是锁建立失败了那么就依次将之前建立过的锁删除只要别人建立了一把分布式锁你就得不断轮询去尝试获取锁。 Redis 官方给出了以上两种基于 Redis 实现分布式锁的方法详细说明可以查看https://redis.io/topics/distlock 。 2. ZK 分布式锁 zk 分布式锁其实可以做的比较简单 就是某个节点尝试创建临时 znode此时创建成功了就获取了这个锁这个时候别的客户端来创建锁会失败只能注册个监听器监听这个锁。释放锁就是删除这个 znode一旦释放掉就会通知客户端然后有一个等待着的客户端就可以再次重新加锁。 这种情况下没有获取锁的客户端是无序的当锁被释放所有等待中的客户端都会尝试抢占锁这就类似 ReentrantLock 中的公平、非公平锁如果想要等待的客户端是有序的可以创建临时顺序节点 创建临时顺序节点后若有多个客户端同时尝试创建临时节点时都会创建成功但是在创建的节点名称后自动加上一个序号第一个拿到锁的客户端会执行后面的每个客户端都会去监听排在自己前面的那个人创建的 node 上也即序号值-1的节点一旦客户端释放了锁zookeeper 就会通知排在后面的客户端一旦被通知了之后就去获取到锁就可以执行代码了。 3. redis 分布式锁和 zk 分布式锁的对比 Redlock 在实践中存在一些问题主要包括以下几点 误判问题Redlock 算法中需要获取多个 Redis 节点的锁如果其中一个节点出现了故障或网络延迟可能会导致其他节点误判为锁已经被获取。这种情况下可能会导致多个客户端同时获取到锁从而导致竞态条件的发生。时间漂移问题由于系统中不同节点之间时钟的不同步可能会导致一个节点的时钟比其他节点快或慢。如果某个节点的时钟比其他节点快那么它会提前释放锁从而导致其他节点误认为锁已经被释放。如果某个节点的时钟比其他节点慢那么它可能会错误地认为锁还未被释放。数据分片问题Redlock 算法要求锁的数据在所有节点上都存在但是在数据被分片存储的情况下锁的数据可能只存在于部分节点上这会导致锁无法正常被获取。单点故障问题Redlock 算法中所有的锁都由 Redis 节点来管理如果其中一个节点发生故障可能会导致整个系统无法正常工作。竞争条件问题Redlock 算法中多个客户端同时尝试获取同一个锁时可能会导致竞争条件的发生。这种情况下可能会导致多个客户端都认为自己已经获取到了锁从而导致数据不一致或其他问题的出现。惊群问题: 是指在并发编程中多个进程或线程同时等待同一个事件或资源的时候可能会出现多个进程或线程同时被唤醒的情况导致性能下降或资源浪费的问题。 ZooKeeper 在实践中存在一些问题主要包括以下几点 性能问题ZooKeeper 节点的数量有限同时每次获取锁都需要向 ZooKeeper 服务器发送请求这会给服务器带来较大的负载。因此在高并发场景下使用 ZooKeeper 实现分布式锁可能会导致系统性能下降。可靠性问题如果 ZooKeeper 服务器发生故障可能会导致分布式锁的可靠性和一致性受到影响。为了避免这个问题可以使用 ZooKeeper 的多个实例来实现高可用性和冗余备份。临时性问题ZooKeeper 分布式锁是基于临时节点实现的如果一个客户端获取到锁之后突然宕机或网络异常那么其他客户端就无法释放该节点上的锁从而导致死锁的情况。为了解决这个问题可以使用心跳机制来保证节点的存活性以及使用超时时间来避免死锁。长时间占用问题如果一个客户端获取到锁之后长时间不释放会导致其他客户端长时间等待从而降低系统的可用性和性能。 如果应用场景对于分布式锁的可靠性和一致性要求较高那么可以选择使用 ZooKeeper 实现的分布式锁 如果应用场景对于分布式锁的性能和效率要求较高那么可以选择使用 Redis 实现的分布式锁。
http://www.w-s-a.com/news/195172/

相关文章:

  • 用php做网站用什么框架推广网站推荐
  • 如何用二级域名做网站多用户网上商城
  • 河南省建设科技网站浅谈电子商务网站建设与规划
  • 网站空间需要续费青海网站建设推广
  • 网站开发本地环境企业网站建设排名口碑
  • 做新闻的网站怎样赚钱个人网站课程设计报告
  • 网站设计样例那个网站做图片好看
  • 小型公司网站建设深圳网络营销策划有限公司
  • 国内优秀企业网站做视频网站用什么系统
  • 网站建设入门pdfwordpress网站标题
  • 专业网站的定义网站运营的概念
  • 外贸服装网站建设网页美工设计说明书
  • 郑州专业做网站公百度翻译api wordpress
  • 做网站哪里找大学的一级或二级域名
  • 没有静态ip可以做网站服务器上饶网站制作需要多少钱
  • 网站建设wangzhii做国外网站做什么内容
  • 网站建设 搞笑笑话经典 wordpress主题下载
  • 做网站要懂哪些wordpress 站点网络
  • 郑州外贸网站建设公司排名网站设计做啥好
  • 网站开发合同付款比例wordpress调用指定文章内容
  • 湖北平台网站建设哪里好辽宁建设工程信息网官网平台
  • 公司优化是什么意思?洛阳seo博客
  • 普通建站网站首页制作模板
  • 江苏城乡与住房建设厅网站wordpress 添加导航
  • 免费单页网站在线制作网站制作与网站建设pdf
  • 网站开发使用云数据库技术教程大连模板开发建站
  • 佘山网站建设创造网站需要多少钱
  • 南海佛山网站建设网站维护需要什么技能
  • 阿里云服务器开源做几个网站想找公司做网站
  • 一般做网站是用什么语言开发的域名查询 查询网