我遇到了微服务体系结构的电子商务应用程序,其中每个表都有它自己的微服务,基本上使用CRUD操作(类似于每个表的其余客户端)。 现在我正在考虑如何在业务领域进行组合和建模,在此之前我想知道是否有人遇到过这种情况,是否适合架构。 任何建议将会非常有帮助。 谢谢。微服务每个数据库表
0
A
回答
2
你在混合不同的,不相关的东西。 (微型)服务是执行某些特定任务的逻辑实体。他们与其他服务进行通信以执行更大范围的任务。
表/ CRUD/SQL/NO-SQL来自一个完整的不同级别。其数据的保存位置以及访问方式。
其确实服务使用SQL并有表。为每个服务分配表格也可能是一个好主意。我甚至会说,如果2个服务直接使用同一个表,那么你可能正在考虑一个设计问题。
但是您不能将服务与表格等同起来,从概念上讲,它们属于不同的世界。
1
每个微服务都应该有自己的一套SQL表,其他微服务都不能访问。但是每个SQL表拥有一个微服务,并且每个微服务都支持CRUD操作,这通常是一种反模式:它将强大的DBMS和查询语言转变为简单的记录管理器:没有跨表交易,连接,过滤,排序,分页等
1
微服务是任何应用程序的逻辑块,结合他们在SQL级别没有任何意义。
例如:让我们考虑您创建一个订单服务,它允许客户下订单。
现在订单也包含订单商品,并可能有客户对象的参考,对于所有这些,您最终可能会创建多个表。所以,不要只是认为SQL表和微服务一起
如果您还有疑问发布更准确的问题,将有助于:)
相关问题
- 1. 微服务:数据库和微服务实例
- 2. 如何将数据库与微服务(和新服务)同步?
- 3. 共享数据库的微服务?使用多个ORM的?
- 4. 如何使用PHP MYSQL将数据库表和每个记录从一个数据库服务器复制到另一个数据库服务器?>
- 5. 如何数据库表从一个数据库服务器复制到另一台数据库服务器
- 6. 即使微服务不是太多的数据库密集型服务,微服务是否也必须拥有自己的数据库?
- 7. 映射到不同的链接服务器每个数据库
- 8. 微服务顺序数据处理
- 9. NodeJS微服务,合并数据
- 10. 微软数据质量服务刷新
- 11. 在微服务中分组数据
- 12. 使用现有外键进行微服务数据库迁移
- 13. 针对微服务架构的数据库设计
- 14. 用于数据库访问的单独微服务
- 15. 从微软SQL服务器备份SQL数据库
- 16. 我想更新服务器上的每个数据库中的表
- 17. 如何在sqlite数据库中保存每个微调器值?
- 18. 服务列表MySQL数据库设计
- 19. SQL服务器数据库表性能
- 20. Netbeans数据库服务空列表
- 21. 保持数据库表使用多场公式(微软SQL服务器)
- 22. 将SQLite数据库表发送到SQL服务器数据库
- 23. 微服务架构:查询服务或数据备份
- 24. MySQL刷新表 - 当前数据库或每个数据库?
- 25. ASP.NET MVC3服务层 - 每个服务的多个存储库?
- 26. 春季启动多个数据库配置与微软的SQL服务器
- 27. 两台服务器两个表单和一个数据库
- 28. 带点火数据表库的服务器端数据表格
- 29. 1个数据库的Web服务
- 30. 查询多个数据库服务器?
每个微服务必须有一个单独的表和服务间的通信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 –
感谢康斯坦丁为响应我我绝对同意你的观点,微服务必须隐藏它的实现和数据库,但在这种情况下,每个表都有单独的微服务。例如,对于表A,它们具有MicroserviceA,对于B microserviceB和对于每个表都是一样的,有多少个表有很多微服务。 –