1.1 明确目标:统一马来西亚(MY)及其城市/角色的服务器简写,减少歧义与口头沟通成本。
1.2 策略概述:采用“国家代码-城市代码-角色-序号”格式(例如 MY-KL-APP-01),并把规范写入团队风格指南与配置库。
2.1 格式建议:MY-<城市3>-<角色3>-<序号2>(城市3为大写字母,如KUL或PGW,角色如APP/DB/LB/FS)。
2.2 规则要点:不使用空格、统一大写、序号从01开始、特殊环境用后缀(DEV/STG/PROD)。
2.3 举例:MY-KUL-APP-01-PROD 表示马来西亚吉隆坡应用服务器01生产环境。
3.1 创建CSV/JSON字典:字段 city_code, city_name, region, notes。示例:{"city_code":"KUL","city_name":"Kuala Lumpur","region":"West","notes":""}.
3.2 存放位置:版本控制(git repo)下的 /docs/server-names/,并在README写明维护流程与负责人。
4.1 Slack:建立一条固定的pin消息,包含简写表和示例;设置自动响应Bot,当出现非规范名称时提示改正。
4.2 文档:在Confluence首页放置“服务器命名指南”并且把字典表格嵌入,所有变更走PR流程。
4.3 邮件模板:在技术会议纪要模板中预设“受影响实例(按简写列出)”字段,强制填写。
5.1 正则校验(示例):使用 ^MY-[A-Z]{2,4}-(APP|DB|LB|FS)-\d{2}(-DEV|-STG|-PROD)?$ 在CI中校验配置文件。
5.2 Python示例片段:import re; pattern=re.compile(r'^MY-[A-Z]{2,4}-(APP|DB|LB|FS)-\d{2}(-DEV|-STG|-PROD)?$'); valid=bool(pattern.match(name)).
5.3 批量转换:写脚本读取旧命名映射表(CSV),根据字典生成新名并输出映射结果与替换建议。
6.1 监控:把简写作为主机标签(tag),Grafana/Prometheus查询以MY-开头过滤,并在dashboards展示字典映射。
6.2 备份与 DR:在备份脚本中使用简写路径,例如 /backups/MY-KUL-DB-01/,并在恢复手册里直接引用。
6.3 变更流程:任何新实例必须在CMDB登记简写并通过校验脚本后才能加入LB或备份任务。
答:这种结构直观、可扩展且易于解析。国家前缀解决跨国识别问题,城市代码定位数据中心,角色明确职责,序号保证实例可区分。便于人工阅读,也方便用脚本或监控系统自动筛选与聚合。
答:先在字典中维护旧名 -> 新名的映射表,批量生成替换清单,分阶段在监控/备份/文档上替换并保留兼容期(例如90天),在Slack和邮件中通告变更窗口与负责人,最后删除旧名。
答:建立变更流程(PR+评审)、指定Owner、定期(例如季度)审查字典并记录变更日志,CI中强制校验,培训新成员并把规范纳入Onboarding清单,确保规范随团队演进而稳定执行。