Butterfly:高性能分布式ID生成器框架
项目基础介绍和主要编程语言
Butterfly 是一个高性能的分布式ID生成器框架,主要使用Java语言开发。该项目旨在通过引入多种新的方案,彻底解决雪花算法的时间回拨等问题,并将雪花算法的原生QPS提高至少十几到二十倍。
项目核心功能
- 超高性能:Butterfly 通过引入新的方案,显著提高了ID生成的性能,单机版QPS理论值可达51.2万/秒,在某些机器上甚至可以达到1200万/秒。
- 全局唯一性:确保生成的ID在全局范围内唯一,适用于需要唯一标识符的场景。
- 无时间回拨问题:通过采用“历史时间”方案,彻底解决了雪花算法中的时间回拨问题。
- 机器ID分配和回收:提供两种方案(Zookeeper和DB)来分配和回收机器ID,确保机器ID的有效管理和分配。
- 非严格整体自增:生成的ID整体趋势递增,适用于需要趋势递增ID的场景。
项目最近更新的功能
- 新增分布式模式:支持分布式环境下的ID生成,提供Dubbo和Restful两种方式的服务端实现。
- 优化性能:进一步优化了ID生成的性能,特别是在高并发场景下的表现。
- 增强易用性:简化了配置和使用流程,提供了更详细的文档和示例代码,方便开发者快速上手。
- 支持更多业务场景:新增了对更多业务场景的支持,包括但不限于超高并发情况和对时间不敏感的唯一性要求场景。
Butterfly 项目通过不断优化和扩展,致力于为开发者提供一个高性能、易用且功能强大的分布式ID生成器框架。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



