简单总结下2PC和3PC的一些细节问题。 2PC 2PC为两段提交,主要是通过先准备,再提交来实现分布式事务。2PC运行过程如下: 准备阶段: 事务协调者给没给参与者发送Prepare消息,每个参与者要么直接返回失败状态,要么在本地预先执行 … 继续阅读 2PC和3PC中的一些细节问题
GC 总结三 – G1
相关文章: GC总结一- 序 GC总结二-CMS 接上一篇,我们来说说G1,G1作为现在的主要的JVM GC,被作为各大互联网主要使用的垃圾回收器,了解G1回回收原理和回收过程,才能帮组我们更好的定位问题,解决问题。 -XX:+UseG1G … 继续阅读 GC 总结三 – G1
借鉴ConcurrentHashMap 并发处理技巧
这篇文章只是简单总结下ConcurrentHashMap的精髓,并没有详细分析源码。 网上解析ConcurrentHashMap源码的文章很多,有详细的,也有简单介绍的。但是个人认为如果不是要去排查Bug的话,那也没有比较一行行的斟酌,看源 … 继续阅读 借鉴ConcurrentHashMap 并发处理技巧
Kafka Exactly Once和事务
说到分布式事务,大多数想到的都是2PC,3PC,TCC等,然而真正使用和实现的现有项目又比较少,在Kafka中,提供了批量消息的事务实现,接下来简单分析下Kafka事务的原理。 Kafka Exactly Once Kafka的事务首先依赖 … 继续阅读 Kafka Exactly Once和事务
Kafka & Zookeeper
Zookeeper作为分布式配置中心,为很多大型分布式系统提供分布式配置,集群管理。然而Zookeeper不是万能的,如果写入数据量过大,或者值修改过于频繁,则Zookeeper可能会成为瓶颈,下面从Kafka & Zookeepe … 继续阅读 Kafka & Zookeeper
分布式一致性算法
一直想写篇文章总结下分布式一致性算法,但是这个东西细节实在太多…每次捋一半就卡住。 这篇文章,是第三次重写。 本文只是总结各个分布式算法之间的易同,前提是需要对各个算法有一定的理解。 分布式一致性算法是为了解决集群中主从服务数据 … 继续阅读 分布式一致性算法
二分搜索算法及其变体
二分的思想很简单,但是代码的细节确很难理解,每次做算法遇到二分的变体,脑子里都是浆糊,当时理解了,后面又忘了,需要注意的细节太多太多了,网上有很多分析二分变体的博客,写的都很详细,但是总是阅后即忘。。。 今天碰巧又遇到了这类算法,痛定思痛, … 继续阅读 二分搜索算法及其变体
Redis 深入解析
Redis作为目前互联网领域使用最广泛的存储中间件,Redis有着超高的性能,丰富的功能,其应用范围之广泛,几乎说道缓存,第一个选择便是Redis。Redis所提供的的丰富的数据结构以及对数据结构的各种操作指令使得Redis不仅仅可以作为缓 … 继续阅读 Redis 深入解析
我所理解的IO
我所理解的IO 要说IO基本上所有人都用过,但是每每提起NIO,BIO,AIO这些概念,总是觉得模糊又清晰。下面简单的总结下: 首先,抛开Java NIO的概念,从操作系统的层面上说说几种IO BIO(Blocking IO) 在操作系统刚 … 继续阅读 我所理解的IO
手撕LFU缓存策略
LFU 缓存实现 最近在复习Redis缓存策略的时候,看到Redis 4.0支持了一种新的缓存淘汰策略:LFU(Least Frequently Used),猛然想起在Dubbo的介绍中,也说过这个策略。 LFU主要是淘汰最近使用次数最少的 … 继续阅读 手撕LFU缓存策略