基于Go的分布式ID生成服务, 具体设计来自于leaf美团分布式ID生成服务,参考美团点评开源的Java实现Leaf。
count 参数可以批量获取ID
- Segment
/api/v1/segments/:biztag?count=1
- Snowflake
/api/v1/snowflakes/:biztag?count=1
- 健康检查
/api/v1/health
docker run -d \
--name gleafd_mysql \
-p 5506:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=gleafd \
-e MYSQL_USER=gleafd\
-e MYSQL_PASSWORD=123456 \
mysql:8.0.15
docker run -d \
--name gleafd_redis \
-p 8379:6379 \
redis:5.0.3-alpine
git clone https://github.com/derry6/gleafd
cd gleafd/cmd/gleafd/
go run main.go
可以使用curl等http工具测试。压力测试使用ab或者wrk等测试。
// segment
curl http://localhost:9060/api/v1/segments/example?count=1
// snowflake
curl http://localhost:9060/api/v1/snowflakes/example?count=1