Skip to content

YianAndCode/snowflake-grpc

Folders and files

NameName
Last commit message
Last commit date
Mar 6, 2021
Jun 21, 2018
Jun 21, 2018
Jun 21, 2018
Mar 6, 2021
Mar 6, 2021
Jun 21, 2018
Jun 21, 2018
Feb 26, 2021
Jun 21, 2018
Mar 13, 2025
Mar 13, 2025
Feb 26, 2021
Feb 26, 2021

Repository files navigation

Snowflake gRPC

介绍

本项目为 Snowflake 算法在 gRPC 中的实现,server 采用 Golang 编写,示例 client 采用 PHP 编写(client/)。

使用方法(Server)

编译

macOS/Linux 执行

./build.sh

Windows 执行:

./build.bat

编译后的可执行程序将会输出到 bin/

配置

在可执行程序同一目录一下保存一份名为 config.json 的配置文件,示例:

{
    "server": "127.0.0.1",
    "nodeId": 1,
    "port": 6666
}

也可以直接复制 config.json.examplebin/ 并改名为 config.json

运行

cd bin
./snowflake-grpc-server

Docker

# 拉取镜像
docker pull mryian/snowflake-grpc-server:latest

# 启动容器
docker run --restart=always -d --name snowflake -p 6666:6666 mryian/snowflake-grpc-server:latest
# 或者
docker run --restart=always -d --name snowflake -v ./config.json:/config.json -p 6666:6666 mryian/snowflake-grpc-server:latest

使用方法(Client)

安装依赖

通过 composer 安装依赖和编译自动加载

cd client
composer install && composer dumpautoload

因为 protobuf 的 PHP 扩展截止目前(2018.06.21)还不支持 Windows,如果是 Windows 下运行,则还需要用 composer 安装 protobuf 依赖:

composer require google/protobuf

运行

php client.php