分布式理论|青训营笔记

52 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第8天。

分布式概述

分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。

优势:

  • 去中心化
  • 低成本
  • 弹性
  • 资源共享
  • 可靠性高

挑战:

  • 普遍的节点故障

  • 不可靠的网络

  • 异构的机器与硬件环境

  • 安全

常见的分布式系统

image.png

理论基础

CAP理论

C (Consistence) 一致性 ,指数据在多个副本之间能够保持一致的特性(严格的一致性)

A (Availability) 可用性,指系统提供的服务必须一直处于可用的状态,每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据

P (Network partitioning) 分区容错性,分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障

image.png

ACID理论

事务是数据库系统中非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能够保证一个事务中的所有操作要么全部执行,要么全都不执行。

数据库事务拥有四个特性ACID,即分别是原子性(Atomicity) 、一致性(Consistency) 、隔离性 (lsolation) 和持久性(Durability)

  • 原子性(A) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚。

  • 一致性(C) 是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态

  • 隔离性(I) 隔离性是当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离

  • 持久性(D) 是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。