【无中生有】---8---分布式配置系统数据库设计
2015-04-17 15:05
393 查看
在集群里手动配置每一台服务器上的程序很明显是不明智的,劳神费力还可能出差异造成程序不一致。
而且在发生配置改变的时候还需要一一去做修改,更是麻烦
将配置内容的获取与载入作为一个功能插件内化到程序中,并以消息监听器的方式接收配置服务管理端发来的更改通知,移除旧的配置数据在本地生成的数据文件,然后载入新的数据文件,并加载到程序中。
这样就形成数据的两处存储,一处是在服务管理端,一处是在应用程序所在服务器,为什么不直接加载进入程序中呢?
因为服务端有可能离线,而同时应用程序重启,在本地保留一份以应对服务端离线。
应用程序表
[b]
组件表:[/b]通过组件数据在组件发生重大变更时对配置文件表进行统一性更改
配置文件表:程序组件需要的配置文件,此表的数据只增不修改
配置历史表:
而且在发生配置改变的时候还需要一一去做修改,更是麻烦
将配置内容的获取与载入作为一个功能插件内化到程序中,并以消息监听器的方式接收配置服务管理端发来的更改通知,移除旧的配置数据在本地生成的数据文件,然后载入新的数据文件,并加载到程序中。
这样就形成数据的两处存储,一处是在服务管理端,一处是在应用程序所在服务器,为什么不直接加载进入程序中呢?
因为服务端有可能离线,而同时应用程序重启,在本地保留一份以应对服务端离线。
数据库设计
解决方案表:每一个解决方案代表一系列服务所需要的配置文件组合,为了防止程序间修改配置造成的问题,不同程序的配置数据不可以共享,虽然造成一定工作量,但是不会由于共享配置数据改变造成的程序间配置需求差异造成的问题。字段 | 类型 | 作用 |
SoluationId | guid | 方案id |
SoluationName | 字符 | 方案名 |
SoluationSimple | 字符 | 方案简介 |
AppId | guid | 程序id |
Enable | 布尔类型 | 方案是否启用 |
CreateTime | 时间类型 | 创建日期 |
CreateBy | 整型 | 创建人 |
ModifyTime | 时间类型 | 修改日期 |
ModifyBy | 整型 | 修改人 |
IsDelete | 布尔 | 是否删除 |
字段 | 类型 | 作用 |
AppId | guid | 应用程序id |
AppName | 字符 | 程序名 |
AppTitle | 字符 | 程序展示名 |
CreateTime | 时间类型 | 创建日期 |
CreateBy | 整型 | 创建人 |
ModifyTime | 时间类型 | 修改日期 |
ModifyBy | 整型 | 修改人 |
IsDelete | 布尔 | 是否删除 |
组件表:[/b]通过组件数据在组件发生重大变更时对配置文件表进行统一性更改
字段 | 类型 | 作用 |
Id | 整型 | 数据id |
AppplusId | guid | 组件id |
AppPlusName | 字符 | 程序组件名 |
CreateTime | 时间类型 | 创建日期 |
CreateBy | 整型 | 创建人 |
ModifyTime | 时间类型 | 修改日期 |
ModifyBy | 整型 | 修改人 |
IsDelete | 布尔 | 是否删除 |
字段 | 类型 | 作用 |
Id | guid | id |
SoluationId | guid | 配置方案解决方案id |
AppplusId | guid | 组件id |
Title | 字符 | 配置展示名 |
Content | xml | 配置内容 |
Version | 整型 | 版本号,修改一次内容就自动新增一个版本 |
Enable | 布尔类型 | 方案是否启用 |
CreateTime | 时间类型 | 创建日期 |
CreateBy | 整型 | 创建人 |
StopTime | 时间类型 | 停用日期 |
ModifyBy | 整型 | 修改人 |
字段 | 类型 | 作用 |
Id | 整型 | id |
SoluationId | guid | 配置方案解决方案id |
SoluationVersion | 整型 | 解决方案版本号 |
MdsId | guid | 服务配置文件id |
Version | 整型 | 服务配置文件版本号 |
CreateTime | 时间类型 | 创建日期 |
CreateBy | 整型 | 创建人 |
相关文章推荐
- Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式、可靠、可用的系统,它能够将不同数据源的海量日志数据进行高效收集
- 为分布式监控系统Zabbix配置TiDB数据库
- 非常弱弱地浅谈聊天机器人(人工智能)系统的数据库设计想法
- Linux下oracle11gR2系统安装到数据库建立配置及最后oracle的dmp文件导入一站式操作记录
- 阿里巴巴开源项目:分布式数据库同步系统otter(解决中美异地机房)
- 开发高效的Tag标签系统数据库设计
- 我不要紧的编码组两人,至少两年的dotnet网咯服务开发经验,熟悉数据库orm, 系统管理人员:熟悉各linux发行版的系统管理和安全管理,linux常用数据库的配置与运维等,有代码托管服务管理经验优
- 游戏任务成就体系的实现(附三):成就系统基于Mysql+Cache的数据库访问设计实现
- 分布式系统概念与设计-CH4进程间通信t
- 解析大型.NET ERP系统 20条数据库设计规范
- CentOS系统中Redis数据库的安装配置指南
- 实现基于组织机构的数据集权限系统的设计思路讲解【提供完整数据库设计下载】
- 高并发服务端分布式系统设计概要
- 【初码干货】记一次分布式B站爬虫任务系统的完整设计和实施
- Google编程学院:分布式系统设计简介 [转]
- 基于 XML­RPC技术的分布式教育资源库系统的设计
- 数据库课程设计-----------学生选课管理系统的设计
- 分布式系统的特点以及设计理念
- SQL Server跨数据库访问及分布式事务的使用及配置