数据库的表设计
每个服务,其实说是任务更准确些,都有一个tag串,主要分为几大部分,以下划线"_"分割,比如xxx产品线下的某个服务,tag串如下:
cop.google_
owt.map_
pdl.china_
cluster.c8_
servicegroup.mappush_
service.common_
job.golang_
status.offline_
loc.wh_
idc.c8
服务信息:所属公司、所属部门、所属产品线、所属集群、所属服务组、服务名称、上线状态、地理位置、所在机房
cop.google : 公司.google owt.map : 分支.map pdl.china : 产品线.china cluster.c8 : 集群.c8 servicegroup.mappush : 服务组.mappush 这个任务所在的分组是mappush service.common : 服务.common 当前这个任务是mappush下的一个common模块 job.golang : 任务.golang 当前这个任务的名字叫golang status.offline : 状态.offline 表示这是一个下线的服务 loc.wh : 地区.wh 这个任务目前正在wh的某个角落执行着 idc.c8 : 机房.c8 这个任务目前正在C3机房执行
集群与服务组的关系是多对多的关系:一个集群可以有多个服务组,一个服务组可以有多个集群。
服务与任务的关系是一对多的关系:一个服务有多个任务。
比喻:一个集群(cluster)上运行着多个软件servicegroup,一款软件(servicegroup)有多个模块(service),每个模块(service)又开了很多不同的进程(job)分别做着不同的事情。
igoodful@qq.com