关系数据库的微服务

Microservices for Relation database

设计微服务的最佳方法是什么?

我有一个数据库,其中包含大约 300 个数据表和一个使用 ADO.Net 查询数据库的数据访问层。我计划将每个 table 用作服务(控制器)来控制 table 的数据。

这是一个好方法吗?

乍一看,这听起来不是个好主意,但根据您在这里提供的信息,我很难判断。为了更准确地告诉您,我需要知道您在谈论哪种域或应用程序用例。

我很难想象您的每个 table 都应该被视为单独的域,您需要将其分离到专用的 micro-service。同样,这完全取决于您的域。

I plan to use each table as a service (controller) to control data of that table

如果您将应用程序或解决方案拆分为 micro-service 的标准是基于数据库 table 到 micro-service(或者每个数据库 table 应该是一个 micro-service) 比我强烈建议你不要这样做。从开发工作和维护工作的角度来看,这将是一种矫枉过正。请记住,开发基于 micro-service 的架构解决方案是一项相当大的工作,但维护它(确保一切正常运行)也具有挑战性。

问题

你应该问自己的问题更像是: 我应该如何或基于什么将我的解决方案拆分为 micro-services?

有几种方法,但最常见的是基于 DDD(领域驱动设计)限界上下文。 Whosebug 上有很多关于 DDD 的非常好的questions/answers。 您还可以在此处查看此答案,以获取有关如何在 micro-services .

中处理拆分解决方案的一些信息