小破站,记录和学习
04
17
布隆过滤器详解 布隆过滤器详解
布隆过滤器在wiki上的介绍: 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般
2022-04-17
16
关于Kubernetes 关于Kubernetes
虽然 Docker已经很强大了,但是在实际使用上还是有诸多不便,比如集群管理、资源调度、文件管理等等。那么在这样一个百花齐放的容器时代涌现出了很多解决方案,比如 Mesos、Swarm、Kubernetes 等等,其中谷歌开源的 Kuber
2022-04-16
10
云计算与虚拟化随笔 云计算与虚拟化随笔
对于微服务技术栈我比较熟悉的是Spring Cloud,最近公司在各应用升级到K8S部署。虽然对Docker与K8S我有所了解,但是一直没有深入的使用过。任何框架或者中间件的登场和消亡都有其历史原因,从历史角度会对各技术的演变有更深刻的理解
2022-04-10
05
Spring的循环依赖与三级缓存 Spring的循环依赖与三级缓存
我们都知道Spring通过三级缓存来解决循环依赖的问题,那么是不是必须是三级缓存?二级缓存不能解决吗?先说一下什么是循环依赖,Spring在初始化A的时候需要注入B,而初始化B的时候需要注入A,在Spring启动后这2个Bean都要被初始化
2022-04-05
05
时间轮算法 时间轮算法
时间轮算法在很多开源的中间件被广泛应用, Redisson 分布式锁中使用时间轮算法实现看门狗,来为锁续时。另一个场景是使用时间轮算法来实现心跳续时,在使用长连接的时候,我们通常需要使用心跳机制来防止意外断开的无效连接浪费系统资源。心跳机制
2022-04-05
04
LeetCode-汽车碰撞次数 LeetCode-汽车碰撞次数
今天刷一道有意思的题目,逻辑很简单,有点像消消乐。就是当车发生碰撞时,车辆就是会静止,最后所有车辆都因为碰撞而会静止,题目如下 在一条无限长的公路上有 n 辆汽车正在行驶。汽车按从左到右的顺序按从 0 到 n - 1 编号,每辆车都在一个
2022-04-04
03
分布式锁的设计 分布式锁的设计
分布式锁的实现有多种方式,但是不管怎样,设计分布式锁一般要满足以下条件: 互斥性:任意时刻,只能有一个客户端获取锁,不能同时有两个客户端获取到锁。 安全性:锁只能被持有该锁的客户端删除,不能由其它客户端删除。 避免死锁:分布式锁一定能得到
2022-04-03