上下文管理(contexts)
对于golang来说,上下文(context)是一个非常重要的构成,它被设计出来的目的就是用于携带上下文信息的,完成纵向的信息和信号传递。
框架封装了一个组件叫contexts(见 internal/common/contexts
),默认提供了携带会话信息( ME
)和日志信息( Logger
)的特性。
其中 ME
通常对应业务里的 用户
,在Web服务这个应用场景下,代表调用服务API进行业务操作的操作人。
而 Logger
通常用在日志跟踪链这个场景,比如在Web服务里,每个业务请求进来,可以会话校验时把当前操作人的标识塞入 Logger 的 Field,把这个 Logger 塞入 context 传递到后面的业务逻辑处理中去,那么后续的日志都会带上这个操作人标识。