Release v0.5.1 (What’s new?).

Documentation Status https://github.com/MacHu-GWU/acore_server_config-project/workflows/CI/badge.svg https://codecov.io/gh/MacHu-GWU/acore_server_config-project/branch/main/graph/badge.svg https://img.shields.io/pypi/v/acore-server-config.svg https://img.shields.io/pypi/l/acore-server-config.svg https://img.shields.io/pypi/pyversions/acore-server-config.svg https://img.shields.io/badge/Release_History!--None.svg?style=social https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social
https://img.shields.io/badge/Link-Document-blue.svg https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to acore_server_config Documentation#

📔 完整文档点这里

项目背景

在生产环境中一个 “魔兽世界服务器” 通常有多个 “大区”, 亚洲, 北美, 美国西部, 美国东部等. 每个 “大区” 下有多组服务器, 一个服务器也就是我们在选择服务器见面看到的 Realm, 比如国服著名的 “山丘之王”, “洛萨” 等. 每个服务器都有自己的配置, 例如数据库账号密码等. 那么如何对这么多服务器的配置进行管理呢? 本项目就是为了解决这个问题而生的.

下面我们来看看具体需求.

  1. 从开发者的角度看, 我们需要对服务器集群配置进行批量管理和部署. 而我们希望将服务器本身和配置数据分离, 以便于在不重新部署服务器的情况下更新配置. 根据上一段提到的服务器层级架构, 我们需要一个树状的数据结构来定义这些服务器的配置. 例如一个大区有它默认设置. 在这个大区下的所有服务器如果没有特别说明, 则沿用大区默认设置. 如果有特别说明则用特别说明的设置. 所以我们这个项目需要解决批量管理的功能. 幸运的是, 我以前为企业做的一个项目中有一个按树状结构, 批量管理多个环境的配置的模块 config_patterns 刚好可以解决这一问题.

  2. 而从服务器的角度看, 出于安全考虑, 每个服务器只要知道自己的配置即可, 不需要知道其他服务器的配置. 所以我们需要一个脚本用于 “自省” (自己判断自己是谁, 去哪里读取配置数据) 并读取属于自己这个服务器的配置数据. 这个脚本只需要能在服务器上运行即可.

为了解决以上两个需求, 我创建了这一项目. 请阅读完整文档做进一步了解.

Table of Content#

About the Author#

(\ (\
( -.-)o
o_(")(")

Sanhe Hu is a seasoned software engineer with a deep passion for Python development since 2010. As an author and maintainer of 20+ open-source projects, I bring a wealth of experience to the table. As a Senior Solution Architect and Subject Matter Expert in Amazon Web Services, Cloud Engineering, DevOps, Big Data, and Machine Learning, I thrive on helping clients with platform design, enterprise architecture, and strategic roadmaps.

Talk is cheap, show me the code:

Install#

acore_server_config is released on PyPI, so all you need is to:

$ pip install acore-server-config

To upgrade to latest version:

$ pip install --upgrade acore-server-config

API Document#