Help us shape the future of Go! Take the 2026 Go Developer Survey

ekit-core

module
v0.2.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 后端基础工具库——文本/数据工具层,框架无关。ekit 子项目矩阵的地基之一。

本仓库是 ekit(git.enjoye.top/enjoydream/ekit v0.34.0) 拆分出的独立 Go module,属于 yi-nology ekit 子项目矩阵(Round-2 深拆粒度)。

安装

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

包清单

  • `pkg/` — errors(Wrap/Cause/BizError)、stringx、slicex、pathx(glob)、cache(进程内缓存)、convert、encoding、enumx、httpjson、jsonrepair、mathx、pagination、ptrx、timex(含 cron)、uidgen、validator
  • `governance/` — 治理配置模板 schema(retry/timeout/circuit_breaker/limiter)
  • `lifecycle/` — transport 生命周期契约
  • `network/` — IP 工具(GetPodIP/IsPublicIP)
  • `version/` — 版本信息

并发与流控原语(async/group/singleflight/progress/syncx/ratelimit/retry)已迁 ekit-concurrency。

依赖关系

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

ekit-core            文本/数据工具 + governance/lifecycle/version      (零内部依赖)
ekit-concurrency     并发与流控原语                                     (零内部依赖)
ekit-logx            日志门面 + shutdown                                (零内部依赖)
ekit-istio           Istio Proxyless                                    (零内部依赖)
  ekit-metrics       Prometheus 门面                          → core
  ekit-tracing       OTel + traceid                           → logx
  ekit-registry      注册发现 + 配置                          → core, logx
    ekit-data        缓存抽象 + 定时任务                      → core, logx, concurrency
      ekit-gorm      SQL/GORM 全家                            → core, logx
      ekit-redis     Redis 全家                               → data, core, logx
    ekit-httpx       HTTP 客户端 + 负载均衡                   → core, concurrency, logx, metrics, tracing, registry
      ekit-nns       服务治理客户端                           → httpx, registry, core, logx, tracing, metrics
        ekit-bootstrap 应用引导
    ekit-middleware  Hertz 中间件栈                           → core, concurrency, logx, metrics, tracing, registry
    ekit-hertz       Hertz 运行时/适配/instrumentation        → middleware, gorm, nns, registry, metrics, tracing, logx, core
    ekit-kitex       Kitex 生态                               → nns, registry, core, concurrency, logx, metrics
  ekit-workflow      流程编排                                 → concurrency, logx

注:ekit-observability 已在 Round-2 深拆中解散——logx 迁 [ekit-logx]、metrics 迁 [ekit-metrics]、 tracing/traceid 迁 [ekit-tracing]、shutdown 迁 [ekit-logx];原仓库已归档。

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

与 ekit 单体仓库的关系

  • 代码与 ekit v0.34.0 等价,module 路径 git.enjoye.top/enjoydream/ekit/... → github.com/yi-nology/ekit-core/...
  • 各子仓库独立发版(SemVer);开发规范沿用 ekit AGENTS.md 约定

License

见 LICENSE

Directories

Path Synopsis
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 提供指针相关的泛型工具函数。
slicex
Package slicex 提供泛型 Slice 工具函数。
Package slicex 提供泛型 Slice 工具函数。
stringx
Package stringx 提供常用的字符串操作工具函数。
Package stringx 提供常用的字符串操作工具函数。
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