lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 184 下一页

2021年5月14日

摘要: 普通实现 说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道set key value px milliseconds nx。后一种方式的核心实现命令如下: - 获取锁(unique_value可以是UUID等) SET resource_name unique_value NX 阅读全文
posted @ 2021-05-14 18:08 白露~ 阅读(928) 评论(0) 推荐(0)

摘要: 为什么需要分布式锁 引入经典的秒杀情景,100件商品供客户抢。如果是单机版的话,我们使用synchronized 或者 lock 都可以实现线程安全。但是如果多个服务器的话,synchronized 和 lock 就不管用了(废话,怎么可能管用,都不在同一段代码了)。 分布式锁就是被设计出来实现多个 阅读全文
posted @ 2021-05-14 13:42 白露~ 阅读(147) 评论(0) 推荐(0)

摘要: 1. 本地锁 常用的即 synchronize 或 Lock 等 JDK 自带的锁,只能锁住当前进程,仅适用于单体架构服务。 而在分布式多服务实例场景下必须使用分布式锁 哦哟!才知道,原来大厂的Redis分布式锁都这么设计 2 分布式锁 2.1 分布式锁的原理 厕所占坑理论 可同时去一个地方“占坑” 阅读全文
posted @ 2021-05-14 13:41 白露~ 阅读(330) 评论(0) 推荐(0)

摘要: 什么是分布式锁 说到Redis,我们第一想到的功能就是可以缓存数据,除此之外,Redis因为单进程、性能高的特点,它还经常被用于做分布式锁。 锁我们都知道,在程序中的作用就是同步工具,保证共享资源在同一时刻只能被一个线程访问,Java中的锁我们都很熟悉了,像synchronized 、Lock都是我 阅读全文
posted @ 2021-05-14 13:40 白露~ 阅读(464) 评论(0) 推荐(0)

摘要: Databus和canal都能够提供实时从数据库获取变更,并提供给下游的实时消费流的功能。 本文针对两个系统实现和应用上的不同点,做了一个简单的对比: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 阅读全文
posted @ 2021-05-14 11:38 白露~ 阅读(1065) 评论(1) 推荐(0)

摘要: 写在前面 数据同步 是一个脏活,而且是个高风险的活 大多数情况下,应用架构设计不好,引入什么新存储,引入什么DDD,治标不治本,都是扯淡。 但万一灵验呢?这就是数据同步的需求基础。且看下面需求场景。 应用场景 业务数据发展到一定水平,需要将大部分冷热数据从熟悉的DB迁移到其他存储进行复杂查询和分析 阅读全文
posted @ 2021-05-14 11:34 白露~ 阅读(249) 评论(0) 推荐(0)

摘要: 社区wiki主页:https://github.com/linkedin/Databus/wiki 背景 一个大型分布式系统往往存在多种的存储系统,mysql,tair,redis,memcache,hbase等等。一些重要的或者需要事务支持的数据操作,通常都会放到mysql处理。但是,为了满足高性 阅读全文
posted @ 2021-05-14 11:23 白露~ 阅读(415) 评论(0) 推荐(0)

2021年5月13日

摘要: 1:hash算法,假如有三台服务,根据key得到hashCode,除以3得到余数,0,1,2 分别对应三台服务 2:hash一致性算法,假如有三台服务,服务生产hashCode,存放到hashCode圆环上,然后根据key生成hashCode,然后顺时针找到最近的服务。由于这样,不均衡,可以给三台服 阅读全文
posted @ 2021-05-13 18:48 白露~ 阅读(253) 评论(0) 推荐(0)

2021年5月12日

摘要: 堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区 阅读全文
posted @ 2021-05-12 20:56 白露~ 阅读(698) 评论(0) 推荐(0)

摘要: 题目:有两个有序数组a[]和b[],将它们合并成数组c[],需要c[]也是有序数组。 思路:新建一个以两个集合长度之和为长度的新数组,从两数组最左边开始比起,把小的放入新集合,并用变量标记后一位置, public class MyClass { public static void main(Str 阅读全文
posted @ 2021-05-12 20:34 白露~ 阅读(591) 评论(0) 推荐(0)

上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 184 下一页