Class IpBasedAssigner

java.lang.Object
cloud.opencode.base.id.snowflake.IpBasedAssigner
All Implemented Interfaces:
WorkerIdAssigner

public final class IpBasedAssigner extends Object implements WorkerIdAssigner
IP-based Worker ID Assigner 基于IP的工作节点ID分配器

Assigns worker ID based on the last two octets of the host IP address. DatacenterId uses the third octet. This is suitable for most cloud environments.

基于主机IP地址的后两个字节分配工作节点ID。数据中心ID使用第三个字节。 这适用于大多数云环境。

Algorithm | 算法:

  • WorkerId = (IP[2] * 256 + IP[3]) % 32
  • DatacenterId = IP[2] % 32

Usage Examples | 使用示例:

WorkerIdAssigner assigner = IpBasedAssigner.create();
long workerId = assigner.assignWorkerId();
long datacenterId = assigner.assignDatacenterId();

Features | 主要功能:

  • Assigns worker ID based on local IP address - 基于本地IP地址分配工作ID
  • Deterministic assignment for consistent node identification - 确定性分配以实现一致的节点标识

Security | 安全性:

  • Thread-safe: No - 线程安全: 否
  • Null-safe: No - 空值安全: 否
Since:
JDK 25, opencode-base-id V1.1.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Method Details

    • create

      public static IpBasedAssigner create()
      Creates an IP-based assigner 创建基于IP的分配器
      Returns:
      assigner | 分配器
    • assignWorkerId

      public long assignWorkerId()
      Description copied from interface: WorkerIdAssigner
      Assigns a worker ID 分配工作节点ID
      Specified by:
      assignWorkerId in interface WorkerIdAssigner
      Returns:
      worker ID within valid range | 有效范围内的工作节点ID
    • assignDatacenterId

      public long assignDatacenterId()
      Description copied from interface: WorkerIdAssigner
      Assigns a datacenter ID 分配数据中心ID
      Specified by:
      assignDatacenterId in interface WorkerIdAssigner
      Returns:
      datacenter ID within valid range | 有效范围内的数据中心ID
    • getStrategyName

      public String getStrategyName()
      Description copied from interface: WorkerIdAssigner
      Gets a description of the assignment strategy 获取分配策略描述
      Specified by:
      getStrategyName in interface WorkerIdAssigner
      Returns:
      strategy description | 策略描述