2017-03-09 111 views
0

我遇到了微服务体系结构的电子商务应用程序,其中每个表都有它自己的微服务,基本上使用CRUD操作(类似于每个表的其余客户端)。 现在我正在考虑如何在业务领域进行组合和建模,在此之前我想知道是否有人遇到过这种情况,是否适合架构。 任何建议将会非常有帮助。 谢谢。微服务每个数据库表

+1

每个微服务必须有一个单独的表和服务间的通信throught网络完成。他们不得共享相同的持久性。在这里阅读更多:https://www.amazon.com/Building-Microservices-Sam-Newman/dp/1491950358/ref=pd_sim_14_29?ie=UTF8&dpID=5156gHBSxaL&dpSrc=sims&preST=_AC_UL160_SR122%2C160_&refRID=0081XVQGTK2AQ54GQ21P –

+0

感谢康斯坦丁为响应我我绝对同意你的观点,微服务必须隐藏它的实现和数据库,但在这种情况下,每个表都有单独的微服务。例如,对于表A,它们具有MicroserviceA,对于B microserviceB和对于每个表都是一样的,有多少个表有很多微服务。 –

回答

2

你在混合不同的,不相关的东西。 (微型)服务是执行某些特定任务的逻辑实体。他们与其他服务进行通信以执行更大范围的任务。

表/ CRUD/SQL/NO-SQL来自一个完整的不同级别。其数据的保存位置以及访问方式。

其确实服务使用SQL并有表。为每个服务分配表格也可能是一个好主意。我甚至会说,如果2个服务直接使用同一个表,那么你可能正在考虑一个设计问题。

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

1

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

1

微服务是任何应用程序的逻辑块,结合他们在SQL级别没有任何意义。

例如:让我们考虑您创建一个订单服务,它允许客户下订单。

现在订单也包含订单商品,并可能有客户对象的参考,对于所有这些,您最终可能会创建多个表。所以,不要只是认为SQL表和微服务一起

如果您还有疑问发布更准确的问题,将有助于:)

相关问题