分布式系统

分布式系统

分布式 id 生成方案

要求

  1. 唯一性:生成的ID全局唯一,在特定范围内冲突概率极小
  2. 有序性:生成的ID按某种规则有序,便于数据库插入及排序。
  3. 可用性:可保证高并发下的可用性, 确保任何时候都能正确的生成ID。
  4. 自主性:分布式环境下不依赖中心认证即可自行生成ID。
  5. 安全性:不暴露系统和业务的信息, 如:订单数,用户数等。

方法

  1. 数据库自增ID:数据库水平拆分;每次生成一批ID;
    优点:
    简单,天然有序。

    缺点:
    1. 并发差。
    2. 数据库故障后不可用。

  2. UUID生成:结合时间、随机数、mac地址生成UUID
    优点:
    本地生成,简单。
    缺点:

    1. 不易存储。
    2. 不安全。
  3. 雪花算法:把64bit分别划分成多段,分开表示时间、机器、序号等。
    优点:
    灵活

分布式事务的理解

事务就是为了保证不同数据库的数据一致性。
ACID特性: 原子性、一致性、隔离性、持久性。

实现负载均衡的方法

  1. 随机
  2. 轮询
  3. 一致哈希
  4. 主备

进程和线程和协程

进程:运行中的应用程序。每个进程拥有独立的地址空间。是系统进行资源调度和分配的基本单位,实现了操作系统的并发。

线程:进程的子任务。是CPU调度和分派的基本单位,实现进程内部的并发。

协程:看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回来接着执行。

通信

进程通信方式:

  1. 管道通信
  2. 消息队列通信
  3. 共享内存:映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。
  4. 套接字

线程通信方式:

  1. 等待/通知机制

线程池

重复利用已创建的线程,减少资源消耗。
提高线程的可管理性。
提高响应速度


分布式系统
http://blog.mornw.com/2022/02/19/学习/distributed_system/
作者
朝霞换夕阳
发布于
2022年2月19日
许可协议