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

背景

静态配置文件的问题:

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

介绍

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

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

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

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

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

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

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

配置中心与游戏服的交互

说明:

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

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

  • ConfigCenter 通过 ZK 存储数据

配置中心的操作

3.2 了解配置项的两种分类

配置项分为两类:

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

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

一个例子:

全局的配置中 cpploglevel 默认为 5

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

新增配置:

相关推荐
专业程序开发源1 小时前
django新闻推荐系统70655-计算机课程设计、毕业设计
java·javascript·spring boot·后端·python·django·课程设计
打工仔折腾 AI2 小时前
把 AI Agent 托管到家里电脑:UU远程端口映射与CLI实测记录
人工智能·后端·python·langchain·电脑·ai agent 实战
vx_Biye_Design2 小时前
springboot一站式旅游管理平台81037-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·课程设计·express·旅游
嵌入式学习菌2 小时前
ESP32 ModbusTCP 分片缓存
java·后端·spring
程序员小杰@2 小时前
Spring Boot 常用注解分类速记
java·spring boot·后端
挖掘狂人2 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
vx_Biye_Design2 小时前
springboot小学生英语学习APP62773-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·学习·课程设计
打工仔折腾 AI2 小时前
用UU远程把家里电脑变成AI Agent常驻服务器:CLI、端口映射与代理实测
运维·服务器·人工智能·后端·python·电脑·ai agent 实战
明月_清风2 小时前
AI Agent 进入系统层:现在有哪些开源项目在解决这个问题?
人工智能·后端
弈栈录3 小时前
MySQL 事务、索引与锁:后端开发必须掌握的数据库基础
数据库·后端