跳到主要内容

服务树设计

服务树规范设计

我们将服务层级标准化为三级

  1. Product Line (产品线): e.g., 电商中台, 金融中台
  2. Service Group (服务组): e.g., 交易中心, 用户中心
  3. Application (应用/微服务): e.g., trade-core, user-profile

数据库设计

CREATE TABLE `service_node` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '物理主键',
`node_code` int(11) NOT NULL COMMENT '全局唯一服务数字ID (用于错误码前缀)',
`node_key` varchar(64) NOT NULL COMMENT '服务英文标识, 如 trade-order',
`node_name` varchar(64) NOT NULL COMMENT '中文名称, 如 交易下单服务',
`type` varchar(20) DEFAULT 'APP' COMMENT '类型:GROUP-组, APP-应用, MIDDLEWARE-中间件',
`parent_id` int(11) NOT NULL DEFAULT 0,
`owner` varchar(50) NOT NULL COMMENT '负责人(LDAP账号)',
`status` varchar(20) DEFAULT 'INIT' COMMENT '生命周期: INIT, DEV, ONLINE, DEPRECATED',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_node_key` (`node_key`)
);
CREATE TABLE `service_metadata` (
`service_id` int(11) NOT NULL COMMENT '关联 service_node.id',
`language` varchar(20) COMMENT 'Java, Go, Python',
`framework` varchar(20) COMMENT 'Spring Boot 3.0, Gin',
`git_repo` varchar(255) COMMENT 'GitLab仓库地址',

-- 资源依赖 (JSON存储,便于扩展)
-- 示例: {"mysql": ["trade_db_master"], "redis": ["user_cache_cluster"], "mq": ["kafka_topic_trade"]}
`dependencies` json COMMENT '依赖的中间件资源',

-- 部署信息 (JSON存储)
-- 示例: {"k8s_cluster": "prod-sh-01", "namespace": "trade", "replicas": 3, "cpu_limit": "2C"}
`deploy_config` json COMMENT '基础设施/K8s配置',

PRIMARY KEY (`service_id`)
);