微服务管理 | 配置中心的实现和使用

背景

静态配置文件的问题:

  • 配置文件分散,需要通过工具分发到分布式系统的多台机器上,比较麻烦
  • 配置生效不及时,各个程序需要支持配置热加载
  • 多环境配置,无法区分多个配置环境,比如开发的环境,测试的环境,预发布的环境,生产的环境
  • 各种配置信息多,难以管理,比如分布式限流的配置信息,各种监控的配置信息等等配置
  • 配置信息无法回滚,没有类似版本控制功能的话,就无法进行回滚

介绍

在项目中,配置中心是用来存放和拉取游戏服务器的动态配置的。

这里所说的动态配置,是相对于一些静态配置来说的。

  • 静态配置,是指随版本放出的配置,如策划的csv,也包括一些不太会变的服务器配置;

  • 静态配置,是指在游戏服务器运行期间,可以动态在线调整的配置,配置修改之后立即应用到服务器中,不需要重新更新版本

举个例子,我们登录系统中的排队功能,有个 login_limit 参数:

具体的配置内容为排队系统的一些参数:

我们可以根据 login 服务器的压力情况以及排队长度等信息,随时动态调整这些参数。这样会比较方便灵活。

配置中心与游戏服的交互

说明:

  • 服务集群中的服务从 ConfigCenter 拉取配置

  • GM管理员通过 GM web page 来新增或修改配置项,并请求 ConfigCenter 更新数据,修改成功后会通知其他所有 Service

  • ConfigCenter 通过 ZK 存储数据

配置中心的操作

3.2 了解配置项的两种分类

配置项分为两类:

a. 全局配置,默认配置值

b. 覆盖默认值,有集群/区服自己独立的配置值

一个例子:

全局的配置中 cpploglevel 默认为 5

如果2022服调整这个配置为 4

新增配置:

相关推荐
IT_陈寒1 小时前
Vite静态资源引用这个坑我踩得有点疼
前端·人工智能·后端
前端开发张小七1 小时前
Java 学习笔记 · 第一课:基础语法与核心概念
java·后端
海盗12341 小时前
微软技术周报 ——2026-08-03
后端·python·microsoft·c#·.netcore
纯真时光1 小时前
微服务保护
微服务
沙湖遇雨2 小时前
6. Pipeline 的生命周期
后端
纯真时光2 小时前
微服务分布式事务 -- XA,AT,TCC模式
分布式·微服务
青青子衿悠悠我心2 小时前
TRAE Work让财务月底对账3小时变5分钟
后端
创安电气研究所2 小时前
用TypeScript给Modbus设备做一层适配器
后端
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十):增加管理员角色组管理
前端·后端·ai编程
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十一):管理员和角色组的关联
前端·后端·ai编程