Chinaunix首页 | 论坛 | 博客
  • 博客访问: 136059
  • 博文数量: 31
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 318
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-24 22:10
个人简介

2011.4 ~ 2015.7 就职于百度运维部,负责百度推广后台系统运维; 2015.7至今,就职于北京屏芯科技(互联网+餐饮),负责稳定性、安全、敏捷、速度等工作。

文章分类

全部博文(31)

文章存档

2016年(4)

2015年(27)

我的朋友

分类: 系统运维

2015-06-16 01:29:15

== 背景 ==
阿里云的ecs,提供的实例id, ip都不方便记忆,当管理的机器数量增加时,使用实例id/ip管理机器是不现实的。
幸好阿里云提供对实例进行命名,但不幸的是,对应的api不支持根据实例的名称获取实例的ip信息。

== 命名规范 ==
为了便于管理,我们制定阿里云server的命名规范如下,
   * 规范: environment.offset.module.serverType.idc
   * 举例: online.0.myModule.ecs.qd
   * 说明:
      * environment: 服务环境,online|deployment|test|sandbox等
      * offset: 实例id, 从0开始
      * module: 模块名称,如cofood, wxcloud-admin等
      * product: 所属项目组,由于模块数较少,此项暂时不要
      * serverType: 服务器类型,ecs/oss/rds/slb等
      * idc: 阿里云数据中心,bj/hz/qd/hk/sz等
比较麻烦的一点是,需要手工把这部分信息录入到数据库中,做为机器的元数据,供其他service(监控、部署等)调用。
暂时没有相当什么自动化的手段。

== 总体设计需求 ==
1. 提供http api && cli查询:
    a. 根据ip查实例信息
    b. 根据environment,module,serverType,idc的一个或几个字段进行查询,支持*做匹配符
2. 初期提供web页面进行手工录入机器信息

== 数据库设计 ==
根据不同的服务器类型,分不同的表。也可以根据地域分表
如ecs表结构如下, 
| id | environment | offset | module | idc | ip | external_ip |

== 后记 ==
其实有了这个数据库之后,后续就没有必要修改ecs的实例名称了。所有的信息都在数据库中,所有的系统都使用数据库中的元数据。 
阅读(1096) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~