ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

5 分钟快速上手 Central Dogma:从零搭建你的第一个配置仓库

5 分钟快速上手 Central Dogma:从零搭建你的第一个配置仓库 5 分钟快速上手 Central Dogma从零搭建你的第一个配置仓库【免费下载链接】centraldogmaHighly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2项目地址: https://gitcode.com/gh_mirrors/ce/centraldogma当应用配置散落在各个服务的代码里改一个参数就要重新发版、出问题还难以追溯时你就需要 Central Dogma 这样的版本化配置仓库。Central Dogma 是 LINE 开源的高可用配置仓库基于 Git、ZooKeeper 与 HTTP/2 构建它把配置当作代码来管理每一次修改都有提交记录随时可查看历史、可回滚。本教程带你 5 分钟快速上手 Central Dogma从零搭建并写入你的第一个配置仓库。Central Dogma 是什么为什么要用它Central Dogma 的核心定位是一个配置的 Git它具备四个关键能力版本化每次修改配置都会生成一个提交Commit与修订号Revision像 Git 一样可追溯、可回滚高可用基于 ZooKeeper 实现多副本复制Replication支持集群部署与故障切换实时推送基于 HTTP/2 的流式接口客户端可以watch配置变化并即时感知多环境管理通过模板Templates与变量Variables一份配置模板即可适配开发、测试、生产多套环境。如果你想深入了解设计理念可阅读 安装说明 与 核心概念 两份官方文档。先理解 4 个核心概念Project、Repository、Commit、Revision动手之前用 30 秒理解 Central Dogma 的数据模型后面的操作会非常顺畅概念含义类比Project项目顶层容器每个项目必含一个 meta 仓库GitHub 里的组织Repository仓库真正存放配置文件的仓库记录每次变更历史组织下的仓库Commit提交一组配置变更写入时获得修订号Git 提交Revision修订号从 1 开始单调递增的整数-1表示最新版本Git 的 commit id提示Central Dogma 底层基于 Git 实现但没有分支概念也不使用 SHA1 提交 ID取而代之的是简单易懂的整数修订号详见 concepts.rst。第一步一键启动 Central Dogma 服务约 1 分钟⚡启动服务有两种最常用的方式任选其一即可。方式一Docker 一键启动最快机器上有 Docker 的话一条命令就能把 Central Dogma 服务跑起来docker run -p 36462:36462 ghcr.io/line/centraldogma方式二二进制包启动下载 Central Dogma 发行版 tarball 并解压需要 Java 11 或更高版本tar zxvf centraldogma-x.y.z.tgz cd centraldogma-x.y.z启动服务bin/startup需要停止时执行bin/shutdown验证服务是否启动成功 ✅启动成功后在浏览器中打开管理控制台地址http://127.0.0.1:36462/看到管理界面即表示服务运行正常。服务默认监听 36462 端口数据目录、端口、复制方式、认证等参数都集中在conf/dogma.json配置文件中调整开箱即用的默认配置对新手非常友好。第二步创建你的第一个项目与配置仓库 Central Dogma 自带命令行客户端dogma位于发行版bin/目录默认连接localhost:36462无需额外配置。创建项目dogma new myapp创建配置仓库dogma new myapp/config路径语法非常直观项目/仓库/文件。例如myapp/config表示项目myapp下的仓库config。用dogma ls可以查看项目列表dogma ls myapp查看仓库列表全部返回 JSON 格式方便脚本化处理。第三步提交你的第一个配置文件 仓库建好后我们写入第一个配置文件app-config.jsonecho {serviceName:my-service,port:8080} app-config.json dogma put myapp/config/app-config.json app-config.json -m Add app-config.jsonput命令把本地文件上传到仓库-m指定提交信息Commit Message每次put都是一次版本化提交仓库修订号自动 1。读取刚提交的配置dogma cat myapp/config/app-config.jsonJSON 文件还支持 JSONPath 查询例如只取serviceName字段dogma cat --jsonpath $.serviceName myapp/config/app-config.json修改文件用dogma edit删除用dogma rm与普通 Git 工作流非常相似。完整的命令清单可参考 命令行客户端文档。第四步查看历史版本与回滚 配置出了问题没关系所有历史都在。查看提交历史dogma log myapp/config/app-config.json对比两个版本之间的差异dogma diff myapp/config/app-config.json按修订号读取指定版本例如读取第 1 次提交时的文件dogma cat --revision 1 myapp/config/app-config.json修订号-1表示最新版本-2表示上一个版本以此类推。配合 Web 控制台的在线文件预览与历史对比功能排查配置变更非常方便。第五步进阶玩法——用模板和变量管理多环境配置 这是 Central Dogma 最实用的一大亮点模板 变量。在配置文件中使用${vars.xxx}占位符例如app-config.json{ apiEndpoint: ${vars.api.url}, timeout: ${vars.api.timeout} }然后在项目设置里为不同环境定义变量如开发、生产各一套无需修改模板即可切换环境配置。下图就是 Web 控制台中的新建变量表单输入 Variable ID、选择类型STRING 或 JSON、填写值即可所有变量的列表与增删管理一目了然预览配置时勾选 Preview with Variables就能看到模板变量被实际值替换后的最终效果真正做到一份模板、多环境复用详细的变量语法与类型说明参见 模板与变量文档。结语5 分钟之后还能做什么✨到这里你已经完成了 Central Dogma 的从零上手启动服务、创建项目仓库、提交配置文件、查看历史、使用变量。接下来还可以继续探索实时监听配置变化dogma watch --streaming基于 HTTP/2 流式推送客户端能即时感知配置更新Git 镜像Mirroring把外部 Git 仓库自动同步到 Central Dogma或反向推送实现配置与代码的统一管理权限与认证基于 Apache Shiro 的用户与令牌管理参考 认证文档集群高可用部署通过 ZooKeeper 启用多副本复制支撑生产环境从源码构建git clone https://gitcode.com/gh_mirrors/ce/centraldogma后执行./gradlew startup即可直接从源码启动体验。把配置纳入版本控制让每一次变更都有据可查、随时可回滚这正是 Central Dogma 的价值所在。现在就动手搭建你的第一个配置仓库吧【免费下载链接】centraldogmaHighly-available version-controlled service configuration repository based on Git, ZooKeeper and HTTP/2项目地址: https://gitcode.com/gh_mirrors/ce/centraldogma创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表