分布式
文章平均质量分 90
程序新视界
个人公众号【程序新视界】,一个硬技术,软实力同步提升的平台。《Spring Boo技术内幕:架构设计与实现原理》作者,《深入以太坊智能合约开发》联合作者之一。主要从事于三方支付行业。
展开
-
Java限流及常用解决方案
大家好,我是二师兄,今天给大家分享一篇关于Java限流解决方案的文章,文中分享了不少实战相关的经验,值得一读。转载 2023-03-28 14:30:30 · 1218 阅读 · 0 评论 -
加锁了,还有并发问题?Redis分布式锁你真的了解?
新接手的项目,偶尔会出现账不平的问题。之前的技术老大临走时给的解释是:排查了,没找到原因,之后太忙就没再解决,可能是框架的原因……既然项目交付到手中,这样的问题是必须要解决的。梳理了所有账务处理逻辑,最终找到了原因:数据库并发操作热点账户导致。就这这个问题,来聊一聊分布式系统下基于Redis的分布式锁。顺便也分解一下问题形成原因及解决方案。原因分析系统并发量并不高,存在热点账户,但也不至于那么严重。问题的根源在于系统架构设计,人为的制造了并发。场景是这样的:商户批量导入一批数据,系统会进行前置处理,并原创 2021-10-28 13:03:36 · 1261 阅读 · 1 评论 -
分布式锁的几种实现方式
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两项。”所以,很多系统在设计之初就要对这三者做出取舍。在互联网领域的绝大多数的场景中,都需要牺牲强一致性转载 2017-04-28 15:26:55 · 2644 阅读 · 0 评论 -
Curator之Master/Leader选举注意事项
上篇博客《Zookeeper开源客户端Curator之Master/Leader选举》介绍了Leader选举的使用方法。这边博客主要说明一下在分布式定时任务选举Leader执行的过程中需要考虑的事项。我们都知道,通过Leader选举可以选举出一台机器来执行定时任务。这里有两种选择:选出Leader之后,以后所有的定时任务都由此台机器执行。每次到执行Job的时候重新进行一次竞选,成为Leader者原创 2017-04-25 11:08:37 · 3060 阅读 · 2 评论 -
Zookeeper开源客户端Curator之Master/Leader选举
在实际生产中,特别是分布式系统中,我们经常遇到这样的场景:一个复杂的任务,近需要从分布式机器中选出一台机器来执行。诸如此类的问题,我们统称为“Master选举”。比如,在分布式系统中很常见的一个问题就是定时任务的执行。如果多台机器同时执行相同的定时任务,业务复杂则可能出现灾难性的后果。本篇博客就以定时任务为例来示例说明Curator的Master选举用法。原理利用zookeeper来实现Master原创 2017-04-19 21:52:48 · 12967 阅读 · 5 评论 -
分布式系统唯一ID生成方案汇总
系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。数据库自增长序列或字段最常见的方式。利用数据库,全数据库唯一。优点:1)简单,代码方便,性能可以接受。2)数字ID天然排序,对分页或者需要排序的结果很有帮助。缺点:1)不同数据库语法和实转载 2017-05-04 16:14:24 · 3308 阅读 · 0 评论