Funplus 开源工具 archivist:根据配置数据(JSON)自动生成数据结构

edwingeng · · 1272 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

近期我司(Funplus Kingsgroup)开源了一个项目:archivist,可大幅简化配置系统的维护,尤其适用于游戏行业,我司多个项目都在用。 这个项目由两部分组成:1)代码生成器,根据配置数据(JSON)自动生成数据结构,可以为各种编程语言服务;2)Golang 运行库,用以简化配置加载、热更。 ## 代码生成器支持: * 自动推测 JSON 字段的数据类型 * 通过 .meta 文件自定义 JSON 字段的数据类型,比如,把 struct 替换成 map[string]... * 通过 .meta 文件支持扩展类型,包括引用 reference,日期时间 datetime,时间长度 duration 和国际化字符串 i18n * 除了 .json,额外支持 .js 文件(方便手工编辑) * paths 子命令:显式所有字段的路径和数据类型 * orphan 子命令:找出并删除『孤儿』文件,让数据文件、代码文件保持一致 * 自定义代码模板,以便生成各种编程语言的代码 ## Golang 运行库支持: * 把加载配置简化至几行代码 * 在启动时选择配置 group 和 subgroup * 支持各种配置覆盖,包括文件级的和内容级的 * 支持扩展类型,包括引用 reference,日期时间 datetime,时间长度 duration 和国际化字符串 i18n * 支持热更(通过原子操作切换到全套新配置) * 支持补丁形式的热更 * 支持向后兼容检查 * 支持加载白名单、黑名单 * 支持配置扩展,方便运行时整理配置 * 线程安全 ## 开源地址:https://github.com/kingsgroupos/archivist

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1272 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传