随笔分类 - 分布式
摘要:Dubbo目前支持: 1:平衡加权轮询算法 2:加权随机算法 3: 一致性哈希算法 4:最小活跃数算法 https://www.cnblogs.com/wyq178/p/9822731.html
阅读全文
摘要:可靠的分布式锁,应该具备的几个特征 互斥性 在任意时刻,只有一个客户端能持有锁 不会发生死锁 即使有有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁 具有容错性 只有大部分的redis节点正常,客户端就可以加锁和解锁 解铃还须系铃人 加锁和解锁必须是同一个客户端,客户端自己
阅读全文
摘要:使用Seata彻底解决Spring Cloud中的分布式事务问题! 官网:seata.io/zh-cn/ 摘要 Seata是Alibaba开源的一款分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,本文将通过一个简单的下单业务场景来对其用法进行详细介绍。 什么是分布式事务问题? 单体应
阅读全文
摘要:1. 背景 网络分区:俗称“脑裂”。当网络发生异常情况,导致分布式系统中部分节点之间的网络延时不断变大,最终导致组成分布式系统的所有节点中,只有部分节点之间能够进行正常通信,而另一些节点则不能。 当网络分区出现时,分布式系统会出现局部小集群。 2. CAP CAP理论指的是在一个分布式系统中,不可能
阅读全文
摘要:https://www.txlcn.org/zh-cn/docs/background.html
阅读全文
摘要:几天分析了一下三种分布式锁的实现,但是没有利用zookeeper实现一个分布式锁,因为感觉基于Zookeeper实现分布式锁还是稍微复杂的,同时也需要使用Watcher机制,所以就单独搞一篇Zookeeper实现的分布式锁。 首先,第一种实现。我们可以利用Zookeeper不能重复创建一个节点的特性
阅读全文
摘要:那么为了使用乐观锁,我们首先修改t_goods表,增加一个version字段,数据默认version值为1。 乐观锁方案 借鉴数据库的乐观锁机制,如: update t_goods set count = count -1 , version = version + 1 where good_id=
阅读全文
摘要:作为注册中心Eureka比Zookeeper好在哪里? 著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性),A(可用性)和P(分区容错性)。由于分区容错性P在是分布式系统中必须要保证的,因此我们只能在A和C之间权衡。 1:Zookeeper保证的是CP Eureka则是AP; 2:Eur
阅读全文
摘要:传统数据库的ACID分别是: A(Atomicty)原子性 B(Consistency)一致性 I(Isolation)独立性 D(Durability)持久性 (分布式下的数据库)CAP是指: (3进2原则,只能在三个条件里,选择两个满足) C:Consistency(强一致性), A:Avali
阅读全文
摘要:引言 讲了几天的数据库系列的文章,大家一定看烦了,其实还没讲完。。。(以下省略一万字)。今天我们换换口味,来写redis方面的内容,谈谈热key问题如何解决。其实热key问题说来也很简单,就是瞬间有几十万的请求去访问redis上某个固定的key,从而压垮缓存服务的情情况。其实生活中也是有不少这样的例
阅读全文
摘要:RateLimiter是guava提供的基于令牌桶算法的实现类,可以非常简单的完成限流特技,并且根据系统的实际情况来调整生成token的速率。 通常可应用于抢购限流防止冲垮系统;限制某接口、服务单位时间内的访问量,譬如一些第三方服务会对用户访问量进行限制;限制网速,单位时间内只允许上传下载多少字节等
阅读全文
摘要:1,概述:在一些高并发的场景中,比如秒杀,抢票,抢购这些场景,都存在对核心资源,商品库存的争夺,控制不好,库存数量可能被减少到负数,出现超卖的情况,或者 产生唯一的一个递增ID,由于web应用部署在多个机器上,简单的同步加锁是无法实现的,给数据库加锁的话,对于高并发,1000/s的并发,数据库可能由
阅读全文