分布式 | 青训营笔记

70 阅读1分钟

1. 分布式概述

1.1 什么是分布式

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

优势:
  1. 去中心化
  2. 低成本
  3. 弹性
  4. 资源共享
  5. 可靠性高
挑战:
  1. 普遍节点故障
  2. 不可靠的网络
  3. 异构的机器与硬件环境
  4. 安全

2. 分布式事务的常见实现方式

  1. 两阶段提交:在2PC协议中,事务协调器负责协调各个参与者的事务操作。它通过两个阶段的确认,即准备阶段和提交阶段,来保证所有参与者的一致性。尽管2PC能够保证数据的一致性,但存在协调器单点故障和阻塞等问题。
  2. 补偿事务:补偿事务通过在系统中引入补偿操作,使得即使某个操作失败,可以通过执行相应的补偿操作来回滚或修复数据,保持数据的一致性。补偿事务的实现需要在业务逻辑中定义补偿操作,并确保补偿操作的正确性和幂等性。

3.常见的分布式系统

分布式存储

  • Google File System(GFS): google分布式文件系统
  • Ceph: 统一的分布式存储系统
  • Hadoop HDFS: 基于GFS架构的开源分布式文件系统
  • Zookeeper: 高可用的分布式数据管理与系统协调框架

分布式数据库

  • Google Spanner: google可扩展的、全球分布式的数据库

  • TiDB: 开源分布式关系型数据库

  • HBase: 开源Nosql数据库

  • MongoDB: 文档数据库