高性能-分布式锁+ZooKeeper
架构师-(1)高性能-(2)分布式协调和分流
^果然好^
这个作者很懒,什么都没留下…
展开
-
传统的Java实现redis乐观锁实现高并发秒杀
在限量秒杀抢购的场景,一定会遇到抢购成功数超过限量的问题和高并发的情况影响系统性能。土方法如下:1、虽然能用数据库的锁避免,超过限量的问题。但是在大并发的情况下,大大影响数据库性能2、为了避免并发操作数据库,我们可以使用队列来限制,但是并发量会让队列内存瞬间升高3、我们又可以用悲观锁来实现,但是这样会造成用户等待,响应慢体验不好因此我们可以利用redis来实现乐观锁:1、利用redis的watch功能,监控这个redisKey的状态值2、获取redisKey的值3、创建redis事务原创 2021-07-01 21:52:13 · 1059 阅读 · 0 评论 -
分布式锁(1)-单机锁和几种分布式锁的实现方式和比较
目录1、概念2、单机锁3、分布式锁3.1、基于数据库实现分布式锁(这种方式不靠谱)3.2、基于缓存实现分布式锁3.3、基于Zookeeper实现分布式锁3.4、三种方案的比较1、概念在互联网领域的绝大多数的场景中,都需要牺牲强一致性来换取系统的高可用性,系统往往只需要保证“最终一致性”,只要这个最终时间是在用户可以接受的范围内即可。在很多场景中,我们为...原创 2019-04-29 16:48:17 · 3045 阅读 · 0 评论 -
分布式锁(2)-基于Redis实现
概述目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺...原创 2019-04-29 17:04:13 · 169 阅读 · 0 评论 -
分布式锁(3)-基于ZooKeeper实现
引言ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的架构通过冗余服务实现高可用性。因此,如果第一次无应答,客户端就可以询问另一台ZooKeeper主机。ZooKee...原创 2019-04-29 17:06:10 · 163 阅读 · 0 评论 -
分布式锁(4)-基于Redisson实现
参考:Redisson分布式锁基本用法原创 2020-08-17 21:13:38 · 74 阅读 · 0 评论 -
zookeeper(1)-配置中心实战
为什么要用统一配置?我们做项目时用到的配置比如数据库配置等...我们都是写死在项目里面,如果需要更改,那么也是的修改配置文件然后再投产上去,那么问题来了,如果做集群的呢,有100台机器,这时候做修改那就太不切实际了;那么就需要用到统一配置管理啦。解决思路1.把公共配置抽取出来2.对公共配置进行维护3.修改公共配置后应用不需要重新部署采用方案1.公共配置抽取存放于z...原创 2019-04-29 11:53:38 · 354 阅读 · 0 评论 -
zookeeper(2)-集群选举实战+工作原理讲解
目录1.工作原理2.选举概述3.选举机制1.工作原理zookeeper是一个分布式应用程序协调服务、开源的组件,有分布式服务的基本都可以用zookeeper。zookeeper的工作原理» Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式和广播模式。 当服...原创 2019-05-07 20:49:55 · 843 阅读 · 2 评论 -
zookeeper(3)-命名服务实战
目录1、概念 1、1 解释1 1、2 解释2 1、3 解释32、实战(1)-简单统一命名服务实现1、概念 1、1 解释1命名服务是分布式系统中比较常见的一类场景。命名服务是分布式系统最基本的公共服务之一。在分布式系统中,被命名的实体通常可以是集群中的机器、提供的服务地址或远程对象等——这些我们都可以统...原创 2019-05-13 19:50:06 · 1051 阅读 · 0 评论