Skip to content

组件手册

本章按职责介绍 Maltose 的公共组件。应用代码通常通过 frame/m 获取配置驱动的共享实例;库代码和测试可以直接使用组件构造函数。

请求与通信

组件解决的问题从这里开始
mhttpHTTP Server、路由、参数绑定和中间件Web Server
mclientHTTP Client、中间件、限流和重试HTTP 客户端

Web 相关主题:

配置与基础设施

组件解决的问题实例策略
mcfg文件、远程 Adapter、结构体映射和加载 Hookm.Config() 或独立 Config
mlog结构化日志、文件轮转、上下文和链路字段m.Log() 或独立 Logger
mdbGORM、连接池、事务、读写分离和慢 SQLm.DB() 或独立 DB
mredisRedis 命令、具名实例、日志与 Tracem.Redis() 或独立 Redis
mcache内存/Redis 缓存、过期和防击穿包级默认缓存或独立 Cache
msyncSingleFlight、同键串行、并发限制和对象池进程内独立工具

可观测性

Maltose 基于 OpenTelemetry 提供 Trace 和 Metric 封装。应用可以使用统一入口初始化两个信号,也可以分别控制底层 Provider。

如何选择入口

  • 构建业务应用:优先使用 m.Server()m.Config()m.Log()m.DB()m.Redis()
  • 同进程多应用或隔离测试:使用 m.NewScope(config) 获取独立的 Server、DB、Redis 和 Logger 实例。
  • 编写可复用库:优先显式接收依赖或配置,避免隐式读取应用全局实例。
  • 编写单元测试:为业务依赖定义最小接口并注入 mock。
  • 管理缓存:直接使用 mcache,框架没有在 m 门面中规定全局 Cache 实例。

组件装配方式的完整解释见设计哲学

Released under the MIT License.