WEB开发网
开发学院服务器云计算 分块云计算 阅读

分块云计算

 2009-08-24 00:00:00 来源:WEB开发网   
核心提示: 大胆地说一句,如今在我眼中,分块云计算(5),整合数据库是一种反模式,啊,与其用一个UI套上几个服务,何不让每个服务都有自己的UI,总算说出来了,感觉真好

大胆地说一句,如今在我眼中,整合数据库是一种反模式。啊,总算说出来了,感觉真好。

那么,有什么别的办法呢?我认为领域模型的分块应该一直延续到数据库,让数据库也遵循同样的分块方案。这种与整合数据库[Fowler IntegrationDatabase]相反的模式称为单应用数据库[Fowler ApplicationDatabase],见图4。

分块云计算

图4. 分块的领域模型,使用各自的单应用数据库

分块之间的通信是通过领域模型之上的服务完成的,不允许抄捷径直接访问其他领域模型的应用数据库。这意味着可以(也通常会)有效地将不同的应用数据库部署到不同的服务器上(或者部署到云中)。

一般认为报表是整合数据库的优势所在。要是换一种方式去处理报表,可以把它看成一个独立的应用,有着自己的数据存储。数据从其他分块搜集而来。其中一种办法是将每个分块都看作一个提供事件源的应用[Fowler Events],让那些事件源都吐出报表应用感兴趣的事件就可以了。

顺便一提,上面的讨论令我记起曾经为ADDDP[Nilsson ADDDP]写过一段文字[Nilsson Bricks](不过最终没有放进书里),介绍另一种应用数据库的用法。不过当时写作的重点落在性能,而非可维护性。文中我介绍了如何根据系统不同部分的特点,让系统发挥最大的功效。

再顺便一提,一定要读一读Greg Young写的DDDD系列文章[Greg Young],他的精彩作品也可以归到这个主题之下。他建议严格切分读和写,籍此取得非常高的可伸缩性等等成效。

整合的UI

论点其实差不多,只不过用到UI上没有整合数据库vs.应用数据库那么有力。与其用一个UI套上几个服务,何不让每个服务都有自己的UI,然后将不同的UI用一个UI容器框架集成起来?见图5。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:分块 计算

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接