如果多个系统共用一套错误码,这个错误码要怎么管理?

各位大佬,如果公司有多个系统,统一了一套错误码,这套错误码是保存在数据库(如:mysql)、还是缓存(如:redis)亦或是直接存在文件呢?
我现在用的是文件存放的形式,然后每个系统请求错误码文件把错误码的内容缓存到redis,2个小时过期一次,过期了就重新请求再缓存到redis,现在有一个问题,如果有人修改了文件里的状态码,就不好同步到redis(每个系统都在不同的服务器上)。所以我在想要不要做一个状态码管理平台,一旦改变了状态码,就下发给子系统,让子系统把新的状态码重新保存到redis

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

写一个 composer 包,在各项目引入,方便统一管理,有变更只要升级 composer 包就好了

2年前 评论
ononl 2年前
讨论数量: 14

救救孩子吧 :see_no_evil:

2年前 评论

错误码不直接写到代码里? 用枚举处理

2年前 评论

@seth-shi 这是因为多个系统是共用一套错误码的,比如你有十个上百个系统,你总不可能为每个系统都写一个枚举文件吧。那如果要增加一个错误码,你是不是要给这十个上百个系统的枚举都要这个新增的错误码。(不要问为什么一个系统单独一套错误码,这是公司要求的)

2年前 评论
seth-shi 2年前
NoTurningBack (作者) (楼主) 2年前

写一个 composer 包,在各项目引入,方便统一管理,有变更只要升级 composer 包就好了

2年前 评论
ononl 2年前

以服务形式单独提供,名曰微服务~

2年前 评论
NoTurningBack (楼主) 2年前

提供一种思路供参考,定义好错误码格式,例如:

4001 12 1001

项目代码 功能代码 具体错误码

2年前 评论
NoTurningBack (楼主) 2年前
陈先生

我之前写过一篇类似的 文章 你可以基础引申一下就ok

2年前 评论
NoTurningBack (楼主) 2年前

可以研究一个git 的子项目,submodule

2年前 评论
NoTurningBack (楼主) 2年前
NoTurningBack (楼主) 2年前

zhuanlan.zhihu.com/p/87053283

这个跟项目,语言无关,可以看一下

2年前 评论
NoTurningBack (楼主) 2年前

存数据库就可以了

2年前 评论
NoTurningBack (楼主) 2年前
NoTurningBack (楼主) 2年前

用数据库。建一个表 error_code id, code, message

建设一个后台管理系统,所有需要用错误码的业务都在后台管理页面点击创建按钮

2年前 评论
NoTurningBack (楼主) 2年前
爱学习的胖鼠 (作者) 2年前
NoTurningBack (楼主) 2年前
爱学习的胖鼠 (作者) 2年前
NoTurningBack (楼主) 2年前
爱学习的胖鼠 (作者) 2年前
NoTurningBack (楼主) 2年前

存数据库呗,启动项目读数据库变成配置项,缓存起来

2年前 评论
NoTurningBack (楼主) 2年前

把文件放进一个服务器公共区域,作为静态文件请求就可以了。跨服务器可以分配一个端口,安全组限制内网ip或指定ip组访问。如确保服务可用,在每个应用服务器,如果文件访问不到或者格式无法解析,就使用缓存。

2年前 评论
NoTurningBack (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!