分布式数据库操作方案讨论

[b]问题描述[/b]
随着动态分割的架构思想提出,引出来两个问题:
1、 如何实现数据库的动态添加而不需要改变应用代码,进而提高系统的易维护性?
2、 如何实现多个数据库之间业务操作时的事务一致性问题?
[b]解决方案及数据流程
解决方案[/b]
1、 引入数据库池的概念,将多个分散的数据库实例引入数据库池;
2、 引入业务控制器的概念,定义不同的业务规则对应的的数据库实例标识;
3、 引入数据库控制的概念,将多个数据库池发布到该控制器范围内;
4、 在应用服务器、接口服务器与数据库池之间添加业务规则控制器、数据控制器;
[img]http://dl.iteye.com/upload/attachment/421893/9d3f3980-6e6d-3c70-80b2-e411d19f93f3.gif[/img]

[b]数据流程[/b]
1、 业务数据经视图层流入控制层,控制层通过业务规则控制器获取该业务数据对应的数据库标识;
2、 控制层将业务数据、数据库标识传递到业务层;
3、 业务层对业务数据进行分解、组装后形成可持久化的业务数据,并将业务数据传到数据层(数据库事务一致性问题统一在业务层控制);
4、 数据层根据业务层传入得数据库标识经数据控制器获得数据库实例,进行数据持久化操作;
[img]http://dl.iteye.com/upload/attachment/421895/0b9fcdb3-2205-38ed-ab3c-5ddfb19c6cc0.gif[/img]

[b]遗留问题[/b]
1、 数据库实例的添加需要重新启停应用服务器、接口服务器
2、 需要定义一系列详尽的业务规则控制,明确每个业务规则对应那些数据库实例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值