EachId — Ultimate Performance ID Generator for Java

No databases, no Redis, no ZooKeeper — just straightforward synchronized for staggering performance and simplicity. Perfect for high-concurrency distributed systems, microservices, and any scenario requiring globally unique, trend-increasing IDs.

EachId Hero Image
Philosophy: True high performance comes from minimizing contention — not from CAS or RingBuffer.

Features

Why Choose EachId

The most pragmatic, high-performance, and easy-to-use distributed ID generator available today.

Ultimate Performance

41M+ QPS single-threaded, 17M+ QPS with 64 threads. Batch mode pushes to 300M+ QPS.

Globally Trend-Increasing IDs

Strictly increasing within the same worker, trend-increasing across the system.

Zero External Dependencies

Pure Java implementation, supports JDK 8+. No Redis, ZooKeeper, or complex structures needed.

Batch Generation Support

nextId(count) for ultra-high throughput — ideal for massive concurrency scenarios.

Linear Horizontal Scaling

EachIdGroup enables unlimited instances with perfect load balancing and contention dispersion.

Fully Configurable & Safe

Adjustable bits, epoch, step, clock backward handling, and frontend-safe 53-bit integers.

Core Design

Simplicity Meets Extreme Performance

Built for real-world high concurrency

Outperforms Snowflake, segment modes, and most commercial solutions.

Minimal Contention

Uses time steps + sequence bits to drastically reduce lock contention.

Batch Reservation

One lock acquisition serves thousands of IDs in batch mode.

Thread-Local Fixed Strategy

In EachIdGroup, disperses contention for true linear scaling.

Get started with EachId in minutes

Step 1: Add Dependency

Add EachId to your Maven/Gradle project.

Step 2: Create Instance

Instantiate EachId with default or custom config in just a few lines.

Step 3: Generate IDs

Call nextId() or nextId(count) for high-performance ID generation.

Ready!

Steps image

Capabilities

Key Capabilities

Powerful features for modern distributed systems

Single-Instance Mode

Perfect for standalone high-concurrency applications.

Multi-Instance Scaling

EachIdGroup for unlimited horizontal expansion.

Hexadecimal Output

16-digit hex IDs via nextIdHex().

ID Parsing & Reconstruction

Full parsing and info extraction from generated IDs.

Clock Backward Protection

Automatic waiting + threshold safeguards.

Frontend Compatible

Safe for JavaScript Number, Redis ZSET, MySQL BIGINT UNSIGNED.

41M+
Single-Thread QPS
17M+
64-Thread QPS
300M+
Batch QPS
140M+
8-Instance QPS

About me

Hi, I'm Carlos Suen — Creator of EachId

Carlos Suen - EachId Author
A passionate Java developer graduating in 2026 and stepping into the professional world.

EachId is my flagship open-source project: a pure Java, zero-dependency distributed ID generator achieving 41M+ QPS single-threaded with linear scaling.

I focus on pragmatic, high-performance solutions for real-world distributed systems — minimizing contention while maximizing simplicity and speed.

Open source enthusiast | Performance optimization lover | Always learning and building.

Contact

Let's Talk About High-Performance IDs!

Have questions about EachId? Want to contribute, report a bug, or discuss performance optimizations?
I'm happy to hear from you as I begin my professional journey in 2025.