上下文管理(contexts)

对于golang来说,上下文(context)是一个非常重要的构成,它被设计出来的目的就是用于携带上下文信息的,完成纵向的信息和信号传递。

框架封装了一个组件叫contexts(见 internal/common/contexts ),默认提供了携带会话信息( ME )和日志信息( Logger )的特性。

其中 ME 通常对应业务里的 用户 ,在Web服务这个应用场景下,代表调用服务API进行业务操作的操作人。

Logger 通常用在日志跟踪链这个场景,比如在Web服务里,每个业务请求进来,可以会话校验时把当前操作人的标识塞入 Logger 的 Field,把这个 Logger 塞入 context 传递到后面的业务逻辑处理中去,那么后续的日志都会带上这个操作人标识。