Skip to content

Latest commit

 

History

History
45 lines (39 loc) · 1.39 KB

3.md

File metadata and controls

45 lines (39 loc) · 1.39 KB

防背锅手册

甩锅是一个公司的日常活动,为了防止锅扣过来,最基础的就是增加自己服务的健壮性和可追溯性.
健壮性其实是贯穿整个编程过程的,但是我们先增加一个最简单的健康检查接口.
追溯性就是我们知道什么时间,谁干了什么.

tag: 0.4.3

后端

涉及文件及目录

rurality/apis.py
rurality/urls.py
base/api.py

代码

rurality/apis.py、 rurality/urls.py:
这里只是增加一个最简单的接口,如果接口是可访问的,就算是正常.

class HealthApi(BaseApi):
    NEED_LOGIN = False

    need_params = {
    }
    def get(self, request, params):
        # TODO: 检查所需组件的可访问状态
        # mysql、redis等
        return 'ok'

但是其实里面我们可以增加一些对于其它组件可用性的判断,以后再增加.


base/api.py:
在基础api中增加访问日志,这个访问日志不仅仅记录请求路径,还包括请求参数、请求用户和返回结果.

log_data = {
    'url': request.get_full_path(),
    'params': request.body,
    'user_id': getattr(request, 'user_id', None),
    'result': result,
}
access_logger.info(log_data)

增加了这些日志,就可以尽可能的减少日后背锅风险,尤其是涉及多个服务间调用的时间,更要增加全量的调用日志.