背景

如前文所述,想要搭建一套云处理体系,有很多配置需要CRUD,因此,需要一套元数据配置服务,存储 or 读取相关配置,以便做下一步业务逻辑。

功能梳理

功能点 说明 备注
url解析成uri 将文件url解析成cloud、bucket、key,方便在多云环境下,能够正常上传、下载文件
多云下的bucket关联域名 bucket与host关联,提供url解析的元数据信息
域名打标签 任何一个域名,会关联多个标签,方便不同业务场景分发不同的域名
url重签 私有桶的url容易过期,需要一种方式重新对url重签
ak/sk bucket与ak/sk的关系,也是一对多,也需配置:标签的功能,标记在什么样的情况下,使用哪一组ak/sk

备注:
1、一个host只能找到唯一的bucket与之对应。
2、ak/sk与标签的关系:一对一
3、host与标签的关系:一对多

功能设计

注意:并不一定需要单独的http服务,业务量级小的时候,也可是网关的一个模块。

yml设计

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
aliyun:
mifish-video:
hosts:
- host: mifish.video.cdn.outer.com
tags:
- jdcdn
- wangsucdn
- host: mifish.video.inner.com
tags:
- inner
auth:
- ak: ''
sk: ''
tag: ''
- ak: ''
sk: ''
tag: ''
hwcloud:
mifish-img:
hosts:
- host: mifish.img.cdn.outer.com
tags:
- jdcdn
- hwcdn
- host: mifish.img.inner.com
tags:
- inner
auth:
- ak: ''
sk: ''
tags: ''
- ak: ''
sk: ''
tags: ''

mysql库表设计

桶信息:cloud_process_bucket

字段名 类型 描述
id long 库表id,自增
creator varchar(32) 创建者
modifier varchar(32) 修改者
create_time datetime 创建时间
modify_time datetime 修改时间
cloud varchar(32) 哪个云
bucket_name varchar(32) 桶名称
region varchar(32) 归属哪个区域
owner varchar(128) 业务方
remark varchar(256) 备注信息

桶鉴权:cloud_process_bucket_auth

字段名 类型 描述
id long 库表id,自增
create_time datetime 创建时间
modify_time datetime 修改时间
bucket_id long 关联id
ak varchar(32) ak
sk varchar(32) sk
tags varchar(256) 标签

桶域名:cloud_process_bucket_domain

字段名 类型 描述
id long 库表id,自增
create_time datetime 创建时间
modify_time datetime 修改时间
bucket_id long 关联id
host varchar(128) 域名
tags varchar(256) 标签