ekit-core

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2026 License: MIT

README

ekit-core

Go 后端基础工具库——纯工具层,框架无关(不依赖 Hertz/Kitex/数据库),是 ekit 子项目矩阵的地基。

本仓库是 ekit(git.enjoye.top/enjoydream/ekit v0.34.0) 按框架耦合分层拆分出的独立 Go module,属于 yi-nology ekit 子项目矩阵。

安装

go get github.com/yi-nology/ekit-core@v0.1.0

包清单

  • pkg/ — errors(Wrap/Cause/BizError)、stringx、slicex、pathx(glob 匹配)、retry(重试/轮询)、syncx(键控闸门/扇出)、cache(进程内缓存)、convert、encoding、enumx、httpjson、jsonrepair、mathx、pagination、ptrx、ratelimit(令牌桶)、timex(含 cron)、uidgen、validator
  • concurrency/ — async(GoSafe 系列 safe-go)、group、singleflight、progress(多阶段进度)
  • governance/ — 治理配置模板 schema(retry/timeout/circuit_breaker/limiter,JSON + Nacos 友好)
  • lifecycle/ — transport 生命周期契约(App 接口)
  • network/ — IP 工具(GetPodIP/IsPublicIP,注册地址解析的公共依赖)
  • version/ — 版本信息(ldflags 注入)
  • workflow/ 已独立为 ekit-workflow

依赖关系

子项目矩阵与依赖方向(自底向上):

ekit-core                      纯工具层(零内部依赖)
  └─ ekit-observability        日志/追踪/指标门面
       └─ ekit-registry        注册发现 + 配置
            ├─ ekit-data       存储层
            ├─ ekit-network    网络客户端
            │    └─ ekit-nns   服务治理客户端
            │         └─ ekit-bootstrap  应用引导
            ├─ ekit-hertz      Hertz 生态
            ├─ ekit-kitex      Kitex 生态
            └─ ekit-workflow   流程编排

本仓库为地基,不依赖矩阵内其他模块。

与 ekit 单体仓库的关系

  • 代码与 ekit v0.34.0 等价,仅 module 路径从 git.enjoye.top/enjoydream/ekit/... 改为 github.com/yi-nology/ekit-core/...
  • 后续演进以各子仓库独立发版(SemVer);ekit 单体仓库保留完整历史与架构文档(docs/PLATFORM_CONTRACT.md)
  • 开发规范(命名/错误处理/并发安全/日志门面)沿用 ekit AGENTS.md 约定

License

见 LICENSE

Directories

Path Synopsis
concurrency
async
Package async 提供安全的 goroutine 启动工具。
Package async 提供安全的 goroutine 启动工具。
group
Package group 提供并发 Actor 生命周期管理和 WaitGroup 封装。
Package group 提供并发 Actor 生命周期管理和 WaitGroup 封装。
progress
Package progress 提供多阶段工作流的进度追踪模型。
Package progress 提供多阶段工作流的进度追踪模型。
singleflight
Package singleflight 提供并发请求合并(防击穿)工具。
Package singleflight 提供并发请求合并(防击穿)工具。
Package governance 定义 kitex/hertz 共用的治理配置模板(audit 5.2)。
Package governance 定义 kitex/hertz 共用的治理配置模板(audit 5.2)。
Package lifecycle 定义 transport 适配层依赖的应用生命周期契约。
Package lifecycle 定义 transport 适配层依赖的应用生命周期契约。
Package network 提供网络相关的轻量工具函数。
Package network 提供网络相关的轻量工具函数。
pkg
cache
Package cache 进程内检查缓存原语(stdlib-only):TTL 缓存 + 刷新进行中 并发合并(inflight singleflight)+ 失败短 TTL。
Package cache 进程内检查缓存原语(stdlib-only):TTL 缓存 + 刷新进行中 并发合并(inflight singleflight)+ 失败短 TTL。
convert
Package convert 提供常用类型转换工具函数。
Package convert 提供常用类型转换工具函数。
encoding
Package encoding 提供常用的编码和哈希工具函数。
Package encoding 提供常用的编码和哈希工具函数。
enumx
Package enumx 提供枚举管理能力。
Package enumx 提供枚举管理能力。
errors
Package errors 提供线程安全的多错误聚合。
Package errors 提供线程安全的多错误聚合。
httpjson
Package httpjson stdlib-only 的 HTTP+JSON 调用纪律单源:ctx 感知构造请求 → 执行 → 限容读体(读错误不吞)→ 状态码检查(错误体 rune 安全截断,不腰斩 UTF-8)→ JSON 解码,外加可选的指数退避重试与服务端 Retry-After 建议捕获。
Package httpjson stdlib-only 的 HTTP+JSON 调用纪律单源:ctx 感知构造请求 → 执行 → 限容读体(读错误不吞)→ 状态码检查(错误体 rune 安全截断,不腰斩 UTF-8)→ JSON 解码,外加可选的指数退避重试与服务端 Retry-After 建议捕获。
jsonrepair
Package jsonrepair LLM 输出宽容 JSON 修复骨架:栅栏剥离 → 散文抽对象 → 语法级修复 → 标量归一。
Package jsonrepair LLM 输出宽容 JSON 修复骨架:栅栏剥离 → 散文抽对象 → 语法级修复 → 标量归一。
mathx
Package mathx 提供常用的数学工具函数。
Package mathx 提供常用的数学工具函数。
pagination
Package pagination 提供框架无关的分页参数定义。
Package pagination 提供框架无关的分页参数定义。
pathx
Package pathx 提供文件路径匹配工具。
Package pathx 提供文件路径匹配工具。
ptrx
Package ptrx 提供指针相关的泛型工具函数。
Package ptrx 提供指针相关的泛型工具函数。
ratelimit
Package ratelimit 提供通用限流器实现。
Package ratelimit 提供通用限流器实现。
retry
Package retry 可取消的重试与轮询原语(stdlib-only):带退避的动作重试 + 到 deadline 为止的条件轮询。
Package retry 可取消的重试与轮询原语(stdlib-only):带退避的动作重试 + 到 deadline 为止的条件轮询。
slicex
Package slicex 提供泛型 Slice 工具函数。
Package slicex 提供泛型 Slice 工具函数。
stringx
Package stringx 提供常用的字符串操作工具函数。
Package stringx 提供常用的字符串操作工具函数。
syncx
Package syncx 并发编排原语(stdlib-only):按键在飞闸门 + 按序扇出收集。
Package syncx 并发编排原语(stdlib-only):按键在飞闸门 + 按序扇出收集。
timex
Package timex 提供常用的时间操作工具函数。
Package timex 提供常用的时间操作工具函数。
timex/cron
Package cron 提供 Cron 表达式解析和调度功能。
Package cron 提供 Cron 表达式解析和调度功能。
uidgen
Package uidgen 提供分布式唯一 ID 生成器.
Package uidgen 提供分布式唯一 ID 生成器.
validator
Package validator 提供统一的参数验证能力。
Package validator 提供统一的参数验证能力。
Package version 提供编译时版本信息注入和运行时查询。
Package version 提供编译时版本信息注入和运行时查询。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL