所有主题

主题

distributed-systems

该主题下共 3 篇笔记

distributed-systems

  1. Guava 中的一致性哈希

    介绍 Google Guava 的 Hashing 类中 consistentHash() 静态方法提供的一致性哈希实现:传入分片键和机器数量即可返回数据应落入的桶号,并解析其内部基于 LCG(线性同余)伪随机数算法的跳跃桶实现原理。

    1 分钟阅读
  2. 一致性哈希

    介绍 1997 年 MIT 提出的一致性哈希算法:通过 2^32 的环形 Hash 空间让数据按顺时针落到最近的服务器节点上,解决分布式环境下的数据分布、节点故障与扩容问题,并使用虚拟节点平衡各服务器的数据堆积。

    2 分钟阅读
  3. 全局唯一ID设计

    对比分布式系统中三种全局唯一 ID 生成方案的优劣:数据库自增(简单但难扩展)、UUID(全局唯一但占空间且无序)、Twitter Snowflake(41bit 毫秒时间戳 + 区域 + 机器号 + 序列号拼成 64bit long,趋势递增)。附带 Java 与 Python 版本的自定义 Snowflake 实现,并提醒注意 NTP 时间回拨与跨毫秒序列随机化等细节。

    2 分钟阅读