- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 BASE 理论2
BASE是对CAP中一致性和可用性权衡的结果,其来源于对大规模互联网系统分布式实践的结论,是基于CAP定理逐步演化而来的,其核心思想是即使无法做到强一致性(Strong consistency),更具体地说,是对 CAP 中 AP 方案的一个补充。ACID 和 BASE 代表了两种截然相反的设计哲学,在分布式系统设计的场景中,系统组件对一致性要求是不同的,因此 ACID 和 BASE 又会结合使用。BASE 支持的是大型分布式系统,提出通过牺牲强一致性获得高可用性。
2024-05-11 15:24:56
286
原创 CAP 定理
这个概率可以算出来,假设组件的故障率是 10%(有 10% 的时间不可用),那么有 3 个组件的系统可用性是(1-10%)×(1-10%)×(1-10%)= 72.9%,有 5 个组件的系统可用性是(1-10%)×(1-10%)×(1-10%)×(1-10%)×(1-10%)=59%,两者的可用性相差 13%。其次,架构要不断地在实际应用过程中迭代,保留优秀的设计,修复有缺陷的设计,改正错误的设计,去掉无用的设计,使得架构逐渐完善。对于跨部门一起实现一个系统,处于责任边界的变化层的往往也是争论的焦点。
2024-05-10 18:34:56
1087
转载 CAS原理
再看到static块,懂类加载过程的都知道,static块的加载发生于类加载的时候,是最先初始化的,这时候我们调用unsafe的objectFieldOffset从Atomic类文件中获取value的偏移量,那么valueOffset其实就是记录value的偏移量的。p是取出的对象,addr是p中offset处的地址,最后调用了Atomic::cmpxchg(x, addr, e),其中参数x是即将更新的值,参数e是原内存的值。实际上失败的时候,原值已经被修改,如果不更改期望值,再怎么比较都会失败。
2024-02-08 23:32:07
60
1
转载 写最好的Docker安装最新版MySQL8(mysql-8.0.31)教程(参考Docker Hub和MySQL官方文档)
MySQL官方安装包下载地址:Docker Hub官方网址:如果需要了解Centos7下MySQL5.7最新版的安装部署,可参考教程【最新MySQL-5.7.40在云服务器Centos7.9安装部署)本教程是笔者参考Docker Hub和MySQL官方文档,经过多次操作,踩坑无数才撰写出来的,内容不能说是全网最好,但绝对不会很差,起码比网上很多博文要详细得多。例如配置编码集参数解决中文乱码问题,本教程中有多种方法处理,其它博文可能就只写一种。
2024-02-08 23:30:10
1931
转载 GC时对象地址变了,hashCode如何保持不变?
前几天跟朋友交流,引出了一篇文章《GC复制存活对象,它内存地址变了么?》,我们得知在Hotspot虚拟机下,当GC发生时,对象的地址是会发生变化的。同时我们也知道,无论何时调用同一对象的hashCode方法,都必须返回相同的值,也就是说一个对象的hashCode值要在生命周期中保持不变。同时,网传“hashCode是根据对象地址生成的”。那么,问题来了,当对象地址变化了,hashCode如何保持不变呢?
2024-02-08 23:27:18
119
jseclipse插件
2018-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人