分布式主键系统
该系统其实就是个练手的项目,大家不必太在意,项目非常简单,也很方便大家学习go语言。地址:https://github.com/liyouqing666/guid。代码在dev分支。如果大家对grpc基础环境有疑问请移步这里:go集成grpc
一,涉及技术
二,如何快速跑起来
1,配置相关
位置 | 内容 |
---|
/conf/db/ddl.sql | SQL脚本 |
/etc/*.yml | 配置文件 |
2,项目入口
位置 | 内容 |
---|
/guid.go | 项目启动入口 |
/server/server.go | 服务入口 |
/server/gin_server.go | gin服务入口 |
/service/impl/db_serviceImpl.go | 数据库分布式主键实现 |
/service/impl/redis_serviceImpl.go | redis分布式主键实现 |
/service/impl/snow_serviceImpl.go | 雪花算法分布式主键实现 |
3,操作步骤
三,项目设计
1,总体设计
2,详细设计

syntax = "proto3";
option go_package = "github.com/liyouqing666/guid/pb/guid;guid";
message Req{
string namespace = 1;
TYPE type = 2;
enum TYPE{
SNOW = 0;
REDIS = 1;
DB = 2;
}
}
message Res{
bool flag =1 ;
string key = 2;
}
service PbGuid{
rpc GetKey(Req) returns (Res);
}
3,rpc远程调用
4,gin服务 restapi调用
{
"status":0,
"msg":"success",
"data": "70001"
}