您的位置:首页 > 数据库

【无中生有】---8---分布式配置系统数据库设计

2015-04-17 15:05 393 查看
在集群里手动配置每一台服务器上的程序很明显是不明智的,劳神费力还可能出差异造成程序不一致。

而且在发生配置改变的时候还需要一一去做修改,更是麻烦

将配置内容的获取与载入作为一个功能插件内化到程序中,并以消息监听器的方式接收配置服务管理端发来的更改通知,移除旧的配置数据在本地生成的数据文件,然后载入新的数据文件,并加载到程序中。

这样就形成数据的两处存储,一处是在服务管理端,一处是在应用程序所在服务器,为什么不直接加载进入程序中呢?

因为服务端有可能离线,而同时应用程序重启,在本地保留一份以应对服务端离线。

数据库设计

解决方案表:每一个解决方案代表一系列服务所需要的配置文件组合,为了防止程序间修改配置造成的问题,不同程序的配置数据不可以共享,虽然造成一定工作量,但是不会由于共享配置数据改变造成的程序间配置需求差异造成的问题。

字段类型作用
SoluationIdguid方案id
SoluationName字符方案名
SoluationSimple字符方案简介
AppIdguid程序id
Enable布尔类型方案是否启用
CreateTime时间类型创建日期
CreateBy整型创建人
ModifyTime时间类型修改日期
ModifyBy整型修改人
IsDelete布尔是否删除
应用程序表

字段类型作用
AppIdguid应用程序id
AppName字符程序名
AppTitle字符程序展示名
CreateTime时间类型创建日期
CreateBy整型创建人
ModifyTime时间类型修改日期
ModifyBy整型修改人
IsDelete布尔是否删除
[b]

组件表:
[/b]通过组件数据在组件发生重大变更时对配置文件表进行统一性更改


字段类型作用
Id整型数据id
AppplusIdguid组件id
AppPlusName字符程序组件名
CreateTime时间类型创建日期
CreateBy整型创建人
ModifyTime时间类型修改日期
ModifyBy整型修改人
IsDelete布尔是否删除
配置文件表:程序组件需要的配置文件,此表的数据只增不修改

字段类型作用
Idguidid
SoluationIdguid配置方案解决方案id
AppplusIdguid组件id
Title字符配置展示名
Contentxml配置内容
Version整型版本号,修改一次内容就自动新增一个版本
Enable布尔类型方案是否启用
CreateTime时间类型创建日期
CreateBy整型创建人
StopTime时间类型停用日期
ModifyBy整型修改人
配置历史表:

字段类型作用
Id整型id
SoluationIdguid配置方案解决方案id
SoluationVersion整型解决方案版本号
MdsIdguid服务配置文件id
Version整型服务配置文件版本号
CreateTime时间类型创建日期
CreateBy整型创建人
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐