使用Sequencer API生成分布式唯一、自增id
什么是Sequencer API
Sequencer API用于生成分布式唯一、自增id。
Sequencer API支持声明对自增的需求,包括趋势递增(WEAK)和严格递增(STRONG)
快速开始
该示例展示了如何通过Layotto调用Etcd,生成分布式唯一、自增id。
该示例的架构如下图,启动的进程有:Etcd、Layotto、客户端程程序
step 1. 启动 etcd 和 Layotto
使用 Docker Compose
您可以使用 docker-compose 启动 etcd 和 Layotto
cd docker/layotto-etcd
# Start etcd and layotto with docker-compose
docker-compose up -d
本地编译(不适合 Windows)
您可以使用 Docker 运行 etcd,然后本地编译、运行 Layotto。
[!TIP|label: 不适合 Windows 用户] Layotto 在 Windows 下会编译失败。建议 Windows 用户使用 docker-compose 部署
step 1.1:部署存储系统(Etcd)
etcd的启动方式可以参考etcd的官方文档
简单说明:
访问 https://github.com/etcd-io/etcd/releases 下载对应操作系统的 etcd(也可用 docker)
下载完成执行命令启动:
./etcd
默认监听地址为 localhost:2379
step 1.2:运行Layotto
将项目代码下载到本地后,切换代码目录:
cd ${project_path}/cmd/layotto
构建:
go build -o layotto
完成后目录下会生成layotto文件,运行它:
./layotto start -c ../../configs/runtime_config.json