大数据系统与大规模数据分析学习笔记(区块链篇)1. 一致性哈希(distributed hash table) 传统哈希方法在增加或者减少服务器节点时,会导致哈希得到的结果不一致,从而将流量全导向后台服务器,造成缓存雪崩。一致性哈希,该算法可以有效解决分布式存储结构下动态增加和删除节点带来的问题。 原理:构造出一个哈希环,将每个节点都放在一个哈希环上,当用户需要获取资源时,都在哈希环上顺时针查找,
转载
2024-08-02 15:13:11
34阅读
分布式系统中有一个重要理论:CAP。Consistency 数据一致性分布式系统中,数据会存在多个副本中,有一些问题会导致写入数据时,一部分副本成功、一部分副本失败,造成数据不一致。满足一致性就要求对数据的更新操作成功后,多副本的数据必须保持一致。Availability 可用性在任何时候客户端对集群进行读写操作时,请求能够正常响应。Partition Tolerance 分区容忍性发
转载
2024-07-13 07:07:58
19阅读
1、事务认识 大家所了解的事务Transaction,它是一些列严密操作动作,要么都操作完成,要么都回滚撤销。Spring事务管理基于底层数据库本身的事务处理机制。数据库事务的基础,是掌握Spring事务管理的基础。这篇总结下Spring事务。 事务具备ACID四种特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)
转载
2024-06-10 10:05:11
20阅读
分布式事务 文章目录微服务框架分布式事务35 分布式事务理论基础35.1 分布式事务理论基础35.1.1 事务的ACID 原则35.1.2 分布式服务案例35.1.3 演示分布式事务问题35.1.4 学习目标 35 分布式事务理论基础35.1 分布式事务理论基础35.1.1 事务的ACID 原则事务其实在MySQL 的时候就听过它有一个ACID 原则原子性事务中的所有操作,要么全部成功,要么全部失
转载
2024-09-06 20:53:34
9阅读
本文是对于Dubbo负载均衡策略之一的一致性哈希负载均衡的详细分析。对源码逐行解读、根据实际运行结果,配以丰富的图片,可能是东半球讲一致性哈希算法在Dubbo中的实现最详细的文章了。文中所示源码,没有特别标注的地方,均为2.7.4.1版本。在撰写本文的过程中,发现了Dubbo2.7.0版本之后的一个bug。会导致性能问题,且目前还未解决,如果你们的负载均衡配置的是一致性哈希或者考虑使用一致性哈希的
Spring JDBC 和 事务控制主要内容Spring 整合 JDBc 环境Spring 框架除了提供 IOC 与 AOP 核心功能外,同样提供了基于JDBC 的数据访问功能,使得访问持久层数据更加方便。使用 Spring JDBc 环境,首先需要一套 Spring 整合 JDBC 的环境。添加依赖坐标添加 jdbc 配置文件在src/main/resources目录下新建jdbc.proper
转载
2024-09-23 21:38:59
35阅读
1、缓存的读模式: 先读取缓存中的数据,如果有返回结果,如果没有查询数据库,放入缓存中,返回结果2、缓存的写模式:双写模式改了数据库的数据的时候,同时改了redis缓存中的数据 问题:A改了数据库数据,因为网络问题导致了没能及时写入缓存,而此时B改了数据库数据,立马把缓存中的数据改了,这时候A的修改的缓存数据为B的写入缓存数据之上 解决:为缓存数据设置过期时间,但会出现暂时性的脏数据问题,实现最终
转载
2023-08-14 13:40:23
320阅读
事务具有四大特征,分别是原子性、一致性、隔离性和持久性。一、原子性事务的原子性是指事务全部提交成功或者提交失败,全部回滚,不会执行其中的一部分。二、一致性事务在执行前后,数据库都处于一致状态,即事务的执行不会破环数据库数据的一致性和完整性。如事务未处理完成的过程中数据库故障,事务未完成就被迫中断,未完成的事务对数据库的所作的修改写入,这时数据库就处于一种不一致的状态。三、隔离性事务的隔离性是值在并
转载
2023-12-14 10:32:28
74阅读
分布式数据存储的核心算法,数据分布的算法hash算法 -> 一致性hash算法(memcached) -> redis cluster,hash slot算法用不同的算法,就决定了在多个master节点的时候,数据如何分布到这些节点上去,解决这个问题1、redis cluster介绍redis cluster(1)自动将数据进行分片,每个master上放一部分数据 (2)提供内置的高
转载
2023-08-15 09:31:06
63阅读
事务具有四大特征,分别是原子性、一致性、隔离性和持久性。一、原子性事务的原子性是指事务全部提交成功或者提交失败,全部回滚,不会执行其中的一部分。二、一致性事务在执行前后,数据库都处于一致状态,即事务的执行不会破环数据库数据的一致性和完整性。如事务未处理完成的过程中数据库故障,事务未完成就被迫中断,未完成的事务对数据库的所作的修改写入,这时数据库就处于一种不一致的状态。三、隔离性事务的隔离性是值在并
转载
2023-12-20 22:05:56
87阅读
事务特性实现事务必须满足以下四大特性:Atomicity(原子性):构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。Consistency(一致性):数据库在事务执行前后,完整性没有被破坏。 (转账前后,钱的总数不变)Durability(持久性):事务执行成功后必须全部写入磁盘。Isolation(隔离性):允许多个并发事务同时对数据进行操作,也不会由于交叉执行导致数据不一
转载
2024-04-18 13:55:33
36阅读
目录问题场景思路解决方案一、哈希取余分区二、一致性哈希算法分区1.算法构建一致性哈希环2.服务器IP节点映射 3.key落到服务器的落键规则三、哈希槽分区哈希槽计算3主3从Redis集群扩缩容配置一、新建6个docker容器实例二、进入容器redis-node-1并为6台设备构建集群关系1.进入容器2.构建主从关系三、以6381作为切入点,查看集群状态主从容错切换迁移一、数据读写存储1.
转载
2024-02-22 14:33:53
102阅读
1. 以各种数据源的方式来配置sessionFactory<?xml version='1.0' encoding='UTF-8'?>
<beans
xmlns="http://www.springframework.org/beans"
xmlns:xsi="http://www.w3.org/XMLSchema-instance"
xsi:schemaLocat
转载
2024-06-28 19:35:20
34阅读
SpringBoot+RocketMQ分布式下的消息最终一致示例划分说明整个例子涉及模拟三个服务,eureka注册中心、pay-center支付中心服务和api-passenger核心业务服务。主要调用图如下:首先第三方支付发起支付结果回调。封装我们的生产者业务基础数据和消费者业务基础数据。使用rocketmq提交半消息(发到broker上进行持久化但不能被消费者消费的消息)。生产者实现Rocke
1. 什么是分布式事务1.1 事务严格意义上的事务实现应该是具备原子性、一致性、隔离性和持久性,简称 ACID。通俗意义上来说,事务就是为了使得一些更新等操作要么都成功,要么都失败。原子性(Atomicity):可以理解为一个事务内的所有操作要么都执行,要么都不执行。一致性(Consistency):在一个事务执行之前和执行之后数据库都必须处于一致性状态,比如你账上有400,我账上有100,你给我
转载
2024-05-15 21:19:36
62阅读
什么是Spring Cloudspring cloud 是一个快速构建分布式系统的工具集<提供了一系列分布式开发的工具>功能翻译选择Distributed/versioned configuration分布式/版本化配置管理Spring Cloud Config,Consul,Nacos,ZookeeperService registration and discovery服务注册与发
转载
2024-07-03 10:16:39
20阅读
Springboot+Mybatis-plus多数据源以及实现事务一致性在实际项目开发中,会同时连接2个或者多个数据库进行开发,因此我们需要配置多数据源,在使用多数据源的时候,在业务中可能会对2个不同的数据库进行插入、修改等操作,如何保证多数据源的事务一致性问题?主要解决如下问题:如何配置多数据源如何保证事务一致性1.多数据源配置如果只是配置多数据可以使用mybatis-plus的注解@DS,@D
转载
2024-05-08 17:06:42
749阅读
一致性哈希(Consistent Hashing)是一种特殊的哈希算法,广泛应用于分布式系统中,用于解决负载均衡、缓存和数据分片等问题。它通过将数据映射到一个固定范围的虚拟环上来实现节点的动态增减,而不会导致大量数据重新分配。以下是关于一致性哈希的详细解释:1. 基本概念1.1 虚拟环哈希空间:一致性哈希将所有可能的哈希值组织成一个虚拟的圆环(0 到 \(2^{32}-1\)),形成一个闭合的环形
整合Spring CacheSpring Cache是Spring框架为我们提供的一个缓存抽象层,无论我们使用一个map作为本地缓存,还是EnCache和Redis这种专业的缓存,都可以使用Spring Cache方便地集成,使用起来也很简单,使用注解在业务逻辑方法上标注,即可完成缓存操作,而不用将缓存操作和业务代码耦合在一起基本使用使用Spring Cache,首先需要导入对应的starter依
前言什么是联合身份认证? 通过Spring Security OAuth2 Client(Login)模块集成第三方登录至自己的认证服务中,使用联合身份认证只需要请求认证服务,不通过前端来跳转三方的授权申请链接,而是统一通过认证服务来跳转,只需要维护Spring Authorization Server中身份认证提供商的关系即