首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Amazon :数据库即服务

Amazon :数据库即服务
EN

Software Engineering用户
提问于 2012-06-23 22:05:23
回答 2查看 1.2K关注 0票数 5

沃纳·沃格尔( Werner )有一个有趣的采访,其部分内容是亚马逊如何实现面向服务的体系结构:

对我们来说,面向服务意味着用操作数据的业务逻辑封装数据,通过发布的服务接口进行唯一的访问。不允许从服务外部直接访问数据库,服务之间也不允许数据共享。

我不明白这点。如果数据库已经可以被其他服务通过数据库适配器作为服务使用,为什么需要将数据库“包装”到某个层?亚马逊这么做是因为他们需要向第三方公开数据库,还是因为其他原因?

为什么“不允许直接访问数据库”?这样的架构决策有什么好处?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2012-06-23 22:10:12

不允许来自应用程序的“直接数据库访问”允许底层数据库,甚至模式更改,而不必更改客户端应用程序。

客户端只需编写到服务接口的代码,不需要知道数据是如何持久化的。

票数 9
EN

Software Engineering用户

发布于 2012-06-23 22:16:35

我同意雷·图尔的观点。另一种情况是,拥有自己数据的服务成为唯一需要维护其完整性和正确使用的业务规则的地方。

在一个地方维护它,而不是强迫客户端重复这个逻辑。让东西干干净净。

票数 4
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/154034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档