
分布式
文章平均质量分 91
全威指南
千古七夕沦落人,鹊桥安在玉楼深。
摘星有意青天远,葬月无心古木分。
不老平添千尺恨,长生空乱万劫身。
朝朝暮暮不相守,岁岁年年负良辰!
展开
-
6种常见分布式唯一ID生成策略及它们的优缺点对比
全局唯一的 ID 几乎是所有系统都会遇到的刚需。这个 id 在搜索, 存储数据, 加快检索速度 等等很多方面都有着重要的意义。有多种策略来获取这个全局唯一的id,针对常见的几种场景,我在这里进行简单的总结和对比。简单分析一下需求所谓全局唯一的 id 其实往往对应是生成唯一记录标识的业务需求。这个 id 常常是数据库的主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。这个记录标识上的查询,往往又有分页或者排序的业务需求。所以往往要有一个time字段,并且在t原创 2021-05-14 09:46:33 · 241 阅读 · 0 评论 -
分布式锁
转载:https://blog.youkuaiyun.com/w372426096/article/details/103761286前言在某些场景中,多个进程必须以互斥的方式独占共享资源,这时用分布式锁是最直接有效的。随着技术快速发展,数据规模增大,分布式系统越来越普及,一个应用往往会部署在多台机器上(多节点),在有些场景中,为了保证数据不重复,要求在同一时刻,同一任务只在一个节点上运行,即保证某一方法同一时刻只能被一个线程执行。在单机环境中,应用是在同一进程下的,只需要保证单进程多线程环境中的线程安全性原创 2020-09-30 12:13:45 · 463 阅读 · 0 评论 -
Zookeeper分布式共享锁
在同一个服务内,如果我们要对同一个资源进行操作,可以通过synchronized关键字,Lock接口对多线程进行加锁。但是在分布式的环境下,这样的方式就不可控了,需要使用分布式的方式进行加锁。本文主要讲解了利用zookeeper来实现分布式共享锁。程序流程如下:程序逻辑1.程序节点启动时到zookeeper上注册一个“短暂+序号”的znode,并且监听父节点2.获取父节点...原创 2019-06-04 17:01:41 · 212 阅读 · 0 评论 -
负载均衡策略(二.随机策略)
随机策略从服务器列表中随机选择一个服务,然后该将请求转发到随机选择的服务上。随机策略思路如下:1.获取注册到注册中心的总服务列表,服务状态为UP的服务列表2.判断总服务列表和服务状态为UP的服务列表是否为null或者数量为0,若是,则返回null3.根据服务的总数量,或者随机服务4.若服务为null,则重复1,2,3步骤5.若服务不为null,判断服务是否是存活状...原创 2019-06-19 15:07:22 · 850 阅读 · 0 评论 -
负载均衡策略(一)
在微服务架构中,我们不可避免的需要用到各种负载均衡算法,目前在SpringCloud体系中,Ribbon提供各种负载均衡算法。使用负载均衡的原因:1.高可用,当集群中一台或者多台机器down掉时,剩余的没有down掉的机器能够保证服务的可用性2.高性能,当服务请求过多的时候,能够起到分流的作用,避免一台机器上积累过多的请求,短时间内对CPU,内存,磁盘IO消耗过多,影响服务的性能...原创 2019-06-19 14:30:59 · 199 阅读 · 0 评论 -
分布式情况下生成唯一Id
在分布式的情况下要生成唯一Id,需要考虑高并发,多机器的情况一个思路就是 机器码-时间戳-索引,代码如下:public class Test { private static String macAddress; // 本机机器码 private ReentrantLock lock = new ReentrantLock(); // 可重入锁 priva...原创 2018-07-20 17:14:42 · 212 阅读 · 0 评论 -
分布式事务简介(一)
转载:https://blog.youkuaiyun.com/u010963948/article/details/77461515还是一样,在这里帮之前的同事大牛宣传一下,顺便分享给大家。昨天讲过了什么是分布式系统。在分布式系统中,有一个永远也绕不开的问题,那就是事务问题。随着互联网的普及,网民数量的增加,各类网站纷纷采用分布式或微服务进行系统架构,这使得分布式事务的问题越发突出。这次我们聊一聊在分布式系统...转载 2018-05-31 14:25:28 · 246 阅读 · 0 评论 -
分布式事务简介(二)TCC事务
转载:https://blog.youkuaiyun.com/u010963948/article/details/77505202在当前如火如荼的互联网浪潮下,如何应对海量数据、高并发成为大家面临的普遍难题。广大IT公司从以往的集中式网站架构,纷纷转向分布式的网站架构,随之而来的就是进行数据库拆分和应用拆分,如何在跨数据库、跨应用保证数据操作和业务操作的一致性、原子性,又成为需要解决的新的问题。从分布式事务...转载 2018-05-31 14:26:49 · 264 阅读 · 0 评论 -
分布式事务简介(三)事务选择考虑因素
转载:https://blog.youkuaiyun.com/u010963948/article/details/77505715这是一个开撕的话题,我经历过太多的关于分布式事务的需求:“有没有简单的方案,像使用数据库事务那样,解决分布式数据一致性的问题”。特别是微服务架构流行的今天,一次交易需要跨越多个“服务”、多个数据库来实现,传统的技术手段,已经无法应对和满足微服务情况下这些复杂的场景了。针对微服务下...转载 2018-05-31 14:28:33 · 473 阅读 · 0 评论 -
分布式事务的消息队列模式实现
转载:https://blog.youkuaiyun.com/u010963948/article/details/77774527前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万之后,如果系统挂掉怎么办,这时余额宝账户并没有增加1万,数据就会出现不一致状况了。上述场景在各个类型的系统中都能找到相似影子,比如在电商系统中,当有用户下单后,除了...转载 2018-05-31 14:30:35 · 1096 阅读 · 0 评论 -
微服务架构的分布式事务解决方案
转载:https://blog.youkuaiyun.com/u010963948/article/details/78124241分布式事务是一个绕不过去的挑战!微服务架构本质上就是分布式服务化架构,微服务架构的流行,让分布式事务问题日益突出!尤其是在订单业务、资金业务等系统核心业务流程中,一定要有可靠的分布式事务解决方案来保证业务数据的可靠性和准确性。为了解决大家在实施分布式服务化架构过程中关于分布式事务...转载 2018-05-31 14:31:48 · 494 阅读 · 0 评论 -
定时任务如何在分布式情况下完美调度
转载:https://blog.youkuaiyun.com/u010963948/article/details/80366036单机定式任务调度的问题在很多应用系统中我们常常要定时执行一些任务。比如,订单系统的超时状态判断、缓存数据的定时更新、定式给用户发邮件,甚至是一些定期计算的报表等等。常见的处理方式有线程的while(true) 和sleep组合、使用Timer定时器触发任务又或者是使用quartz...转载 2018-05-31 14:32:44 · 2239 阅读 · 0 评论