Domain driven design 每个数据库表的微服务数

Domain driven design 每个数据库表的微服务数,domain-driven-design,microservices,Domain Driven Design,Microservices,我遇到了电子商务应用程序的微服务体系结构,其中每个表都有自己的微服务,基本上是CRUD操作,比如每个表的rest客户端。 现在,我正在考虑围绕业务领域对它们进行组合和建模,在此之前,我想知道是否有人遇到过这种情况,以及这种架构是否正确。 任何建议都会很有帮助。 谢谢。你把不同的、不相关的东西混在一起了 微服务是执行某些特定任务的逻辑实体。它们与其他服务通信以执行更大范围的任务 表/CRUD/SQL/NO-SQL来自不同的级别。它的数据保存位置和访问方式 确实,服务使用SQL并具有表。为每项服务提

我遇到了电子商务应用程序的微服务体系结构,其中每个表都有自己的微服务,基本上是CRUD操作,比如每个表的rest客户端。 现在,我正在考虑围绕业务领域对它们进行组合和建模,在此之前,我想知道是否有人遇到过这种情况,以及这种架构是否正确。 任何建议都会很有帮助。
谢谢。

你把不同的、不相关的东西混在一起了

微服务是执行某些特定任务的逻辑实体。它们与其他服务通信以执行更大范围的任务

表/CRUD/SQL/NO-SQL来自不同的级别。它的数据保存位置和访问方式

确实,服务使用SQL并具有表。为每项服务提供单独的表可能也是一个好主意。我甚至会说,如果两个服务直接使用同一个表,那么您可能会看到一个设计问题


但是你不能把服务等同于表,从概念上讲,它们属于不同的世界。

你把不同的、不相关的东西混在一起了

微服务是执行某些特定任务的逻辑实体。它们与其他服务通信以执行更大范围的任务

表/CRUD/SQL/NO-SQL来自不同的级别。它的数据保存位置和访问方式

确实,服务使用SQL并具有表。为每项服务提供单独的表可能也是一个好主意。我甚至会说,如果两个服务直接使用同一个表,那么您可能会看到一个设计问题


但是不能将服务等同于表,从概念上讲,它们属于不同的世界。

每个微服务都应该有自己的SQL表集,其他微服务无法访问。但每个SQL表有一个微服务,每个微服务只支持CRUD操作通常是一种反模式:它将强大的DBMS和查询语言转变为一个简单的记录管理器:没有跨表事务、连接、过滤、排序、分页,等等。

每个微服务都应该有一组其他微服务无法访问的SQL表。但每个SQL表有一个微服务,每个微服务只支持CRUD操作通常是一种反模式:它将强大的DBMS和查询语言转变为一个简单的记录管理器:没有跨表事务、连接、过滤、排序、分页等。

微服务是任何应用程序的逻辑块,在sql级别将它们结合起来没有任何意义

EP:让我们考虑创建一个订单服务,允许客户下单。< /P> 现在,订单也包含订单项,并且可能有客户对象的引用,对于所有这些,您可能最终创建多个表。所以,不要只考虑sql表和微服务


如果您仍有疑问,请发布一个更准确的问题,这将有所帮助:

微服务是任何应用程序的逻辑块,在sql级别将它们组合在一起没有任何意义

EP:让我们考虑创建一个订单服务,允许客户下单。< /P> 现在,订单也包含订单项,并且可能有客户对象的引用,对于所有这些,您可能最终创建多个表。所以,不要只考虑sql表和微服务


如果您仍有疑问,请发布一个更准确的问题,这将有助于:

每个微服务必须有一个单独的表,并通过网络进行服务间通信。它们不能共享相同的持久性。在这里阅读更多:感谢Constantin的回复,我完全同意您的看法,即microservice必须隐藏其实现和数据库,但在这种情况下,每个表都有单独的microservice。例如,对于表A,他们有微服务;对于B,他们有微服务;对于每个表,他们有相同的微服务;有多少个表有这么多的微服务。每个微服务必须有一个单独的表,服务间的通信通过网络完成。它们不能共享相同的持久性。在这里阅读更多:感谢Constantin的回复,我完全同意您的看法,即microservice必须隐藏其实现和数据库,但在这种情况下,每个表都有单独的microservice。例如,对于表A,他们有微服务;对于B,他们有微服务;对于每个表,他们都有相同的微服务;有多少个表,有多少个微服务。