项目架构

本项目作为系统编程练手,把 License、Master、Client 拆成多节点结构,支持单机部署也支持分布式拓扑。

                      ┌─────────────────────┐
                      │   License Server    │
                      │   (签发授权令牌)   │
                      └──────────┬──────────┘
                                 │ ECDSA 签名
              ┌──────────────────┼──────────────────┐
              ▼                  ▼                  ▼
       ┌────────────┐    ┌────────────┐    ┌────────────┐
       │  Master A  │    │  Master B  │    │  Master C  │ ← 各自独立的部署实例
       └─────┬──────┘    └─────┬──────┘    └─────┬──────┘
             │                  │                  │
        ┌────┴────┐         ┌───┴───┐         ┌────┴────┐
        ▼         ▼         ▼       ▼         ▼         ▼
    ┌──────┐  ┌──────┐  ┌──────┐ ┌──────┐ ┌──────┐  ┌──────┐
    │Client│  │Client│  │Client│ │Client│ │Client│  │Client│
    │ ...  │  │ ...  │  │ ...  │ │ ...  │ │ ...  │  │ ...  │
    └──────┘  └──────┘  └──────┘ └──────┘ └──────┘  └──────┘
    

三种校验模式

模式校验方式技术特点
默认配置(开源版)在线校验20 连接 / 2 年;可作为开箱即用的本地测试配置
HMAC 模式HMAC + 在线校验启动时一次性校验;适合自部署、独立 Master 节点
ECDSA 模式ECDSA P-256 离线签名完全离线校验;支持多 Master 拓扑,作为分布式部署的技术尝试

技术看点

  • 双校验模式:HMAC 适合在线场景;ECDSA 把校验逻辑下放到客户端,减少对 License Server 的依赖;
  • 节点隔离:不同 Master 节点的数据、客户端互相不可见,便于做家庭实验或多用户环境隔离;
  • 水平扩展:单 Master 节点可承载较大数量的客户端长连接;架构上可堆叠多节点;
  • 离线友好:ECDSA 模式下 Master 与 License Server 可长期断网运行。

本页是作者个人开源项目的技术说明,不构成商业产品的功能承诺,也不附带任何 SLA。