go 微服务常用公共包
- apollo 阿波罗配置中心 go 客户端
- appsign 服务端应用签名校验包,签名规则参考:使用摘要签名认证方式调用 api,客户端签名 go sdk:aliyun-api-gateway-sign
- auth 身份认证包,包含阿里云银行卡四要素认证、阿里云企业银行卡账户认证和百度云人脸识别认证
- balancer grpc 平衡器,包含了一致性 hash 平衡器
- captcha base64 编码的图形验证码包,使用 redis 缓存验证码答案
- disabler 功能禁用器,可以判断给定 api 或 rpc 能否放行
- enforcer 基于 casbin 实现的接口决策规则执行器
- errcode 通用业务错误码包,记录了业务状态码、业务消息和 http 状态码,并实现了
GRPCStatus() *status.Status
接口,可在 grpc 调用中流转 - excel 常用 excel 操作包,包含获取所有行数据、流式读取行数据和流式写入行数据等操作
- express 通用快递查询客户端,支持 express100(快递100)和 expressBird(快递鸟)
- gstream grpc 流式消息内容读写器,利用反射动态创建消息对象,流式读写消息内容
- health 健康检查包,实现了 grpc_health_v1 定义的健康检查服务端和客户端,并包含了一些常用中间件的健康检查器
- jwt jwt token 生成和解析包,支持返回
map[string]any
类型的 payloads 或反序列化至指定 token 结构体 - limit 基于 redis lua 脚本编写的时间段限流器和令牌桶限流器
- lock 基于 etcd 实现的分布式锁
- notify 通用通知服务包,包含短信、邮件验证码发送与短信、邮件验证码校验等功能,可以对发送间隔、验证间隔、一天内同一接收方、一天内同一 ip 和一天内总发送量进行限制与监控,支持 aliyun、submail 和 yunpian
- oss 通用对象存储服务客户端,支持 aliyun、huawei、tencent、minio、local 和 mock
- promcollector 通用 prometheus 指标收集器,包含 cpu、disk、diskio、mem 和 net 等指标的收集器
- retry 通用操作重试包,对操作进行失败重试,可以组合不同的策略
- shorturl 基于 murmur3 hash 的短地址标识符生成包
- sysctl 通用系统控制包,包含系统信息如:主机信息、cpu 信息、内存信息、网络信息和硬盘信息等的获取和 linux 文件排它锁的实现
- watcher 基于 etcd 的键值更新观察器,当观察到键发生创建或更新事件时,会触发回调函数,并实现了 casbin 的
persist.Watcher
接口 - xdb 通用数据库连接包,返回
*gorm.DB
对象,支持 mysql、postgres、sqlite 和 sqlserver - xdb/xfield gorm gen 字段拓展包,支持构建原始 sql 字段和原始 sql 条件
- xgrpc grpc 相关操作库,包含 grpc error 判断和 grpc code 到 http code 的转换等
- xgrpc/xinterceptor 通用 grpc 拦截器,包含功能禁用处理、jwt token 传递解析、请求响应日志打印和恐慌捕获恢复等
- xhash 通用 hash 校验和计算包,包含常用 hash 计算和基于 bcrypt hash 的密码生成与校验等
- xhttp http 相关操作库,包含请求参数反序列化和响应参数序列化、http 客户端、http 通用写入器 和 ip 获取等
- xhttp/jsonrpc 通用 json rpc 2.0 客户端,支持常规调用与批量调用
- xhttp/xmiddleware 通用 http 中间件,包含跨域请求处理、功能禁用处理、jwt 认证处理、签名校验、请求响应日志打印和恐慌捕获恢复等
- xhttp/xreq 通用 http 请求拓展包,包含指定可选参数列表构建 http 请求、http 拓展客户端 和 http 拓展响应等
- xkv 通用 redis 集群键值相关操作库
- xonce 操作执行器,只执行一次成功操作,失败可以再次执行
- xwebsocket 通用 websocket 连接操作包,包含连接管理、消息接收和消息推送等