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

背景

静态配置文件的问题:

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

介绍

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

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

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

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

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

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

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

配置中心与游戏服的交互

说明:

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

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

  • ConfigCenter 通过 ZK 存储数据

配置中心的操作

3.2 了解配置项的两种分类

配置项分为两类:

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

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

一个例子:

全局的配置中 cpploglevel 默认为 5

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

新增配置:

相关推荐
青云计划7 小时前
知光项目知文发布模块
java·后端·spring·mybatis
Victor3567 小时前
MongoDB(9)什么是MongoDB的副本集(Replica Set)?
后端
Victor3567 小时前
MongoDB(8)什么是聚合(Aggregation)?
后端
yeyeye1119 小时前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
Tony Bai9 小时前
告别 Flaky Tests:Go 官方拟引入 testing/nettest,重塑内存网络测试标准
开发语言·网络·后端·golang·php
+VX:Fegn089510 小时前
计算机毕业设计|基于springboot + vue鲜花商城系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
程序猿阿伟10 小时前
《GraphQL批处理与全局缓存共享的底层逻辑》
后端·缓存·graphql
小小张说故事10 小时前
SQLAlchemy 技术入门指南
后端·python
识君啊10 小时前
SpringBoot 事务管理解析 - @Transactional 的正确用法与常见坑
java·数据库·spring boot·后端
DataX_ruby8210 小时前
数据中台选型的“长期主义”:不仅要好用,还要能持续升级
java·开发语言·微服务