CAS 也叫自旋锁,用来保证操作的一致性,比如用2个线程同时对一个变量累加1000,000次,得到的结果可能比2000,000少: package juc.test.cas; import org.junit.Test; import java.util.concurrent.CountDownLa ...
分类:
编程语言 时间:
2020-08-02 12:45:13
阅读次数:
98
许多场景中,数据一致性是一个比较重要的话题,在单机环境中,我们可以通过Java提供的并发API来解决;而在分布式环境(会遇到网络故障、消息重复、消息丢失等各种问题)下要复杂得多,常见的解决方案是分布式事务、分布式锁等。
本文主要探讨如何利用Zookeeper来实现分布式锁。
分类:
其他好文 时间:
2020-07-31 19:20:05
阅读次数:
86
零、简介 PXC是Percona公司的(Percona XtraDB Cluster) 简称PXC。它是基于Galera协议的高可用集群方案。可以实现多个节点间的数据同步复制以及读写,并且可保障数据库的服务高可用及数据强一致性。 优点: 1、实现mysql数据库集群架构的高可用性和数据的 强一致性。 ...
分类:
数据库 时间:
2020-07-31 19:15:15
阅读次数:
76
一、前言 1、ZooKeeper简介 ZooKeeper是一个开源的分布式应用程序协调服务,是Google的Chubby一个开源的实现。ZooKeeper为分布式应用提供一致性服务,提供的功能包括:分布式同步(Distributed Synchronization)、命名服务(Naming Serv ...
分类:
其他好文 时间:
2020-07-30 21:49:47
阅读次数:
67
根本原因就是作用域中变量的生命周期导致的: 首先需要知道的一点是: 内部类和外部类是处于同一个级别的,内部类不会因为定义在方法中就会随着方法的执行完毕就被销毁。 这里就会产生问题:当外部类的方法结束时,局部变量就会被销毁了,但是内部类对象可能还存在(只有没有人再引用它时,才会死亡)。这里就出现了一个 ...
分类:
其他好文 时间:
2020-07-29 21:51:00
阅读次数:
64
1.什么是分布式 分布式不是指必须把应用程序部署到不同的服务器 只要存在应用程序跨JVM就是分布式 2.什么时候使用分布式锁 应用之间存在共享资源的竞争就要使用分布式锁 3.什么时候使用分布式事务 需要保证数据库中的数据的一致性的时候,就需要使用分布式事务 4.都有哪些分布式锁 4.1. 数据库-乐 ...
分类:
其他好文 时间:
2020-07-29 15:31:57
阅读次数:
77
断点续传的原理。
重启续传文件时,怎么保证文件的一致性?
同一个文件多线程下载如何实现?
网速带宽固定,为什么多线程下载可以提速? ...
分类:
编程语言 时间:
2020-07-29 10:22:40
阅读次数:
67
1.什么是事务? 事务是对数据库中一系列操作进行统一的回滚或者提交的操作,主要用来保证数据的完整性和一致性。 2.事务四大特性(ACID)原子性、一致性、隔离性、持久性? 原子性(Atomicity): 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应 ...
分类:
数据库 时间:
2020-07-27 13:41:49
阅读次数:
92
一、zookeeper是什么(概括)? Zookeeper是一个分布式协调服务的开源框架,为分布式程序提供协调服务,同时用来解决分布式集群中应用系统的数据一致性问题。 zookeeper在本质上是一个分布式的小文件存储系统,以目录树方式存储数据,对树中的节点进行管理,从而维护和监控存储数据的节点状态 ...
分类:
其他好文 时间:
2020-07-26 23:21:12
阅读次数:
98
哈希算法 如果我们用(用户id)%服务器机器数这样的方法来分配服务器。 虽然我们能保证数据的均匀性,但稳定性差,比如我们增加一个节点,会导致大量的映射失效。 1%3 == 1%4 2%3 == 2%4 3%3 != 3%4 4%3 != 4%4 这就难搞了,3之后的全乱了,直接体验了一把缓存雪崩。 ...
分类:
编程语言 时间:
2020-07-26 15:34:22
阅读次数:
75