我遇到了微服務體系結構的電子商務應用程序,其中每個表都有它自己的微服務,基本上使用CRUD操作(類似於每個表的其餘客戶端)。 現在我正在考慮如何在業務領域進行組合和建模,在此之前我想知道是否有人遇到過這種情況,是否適合架構。 任何建議將會非常有幫助。 謝謝。微服務每個數據庫表
0
A
回答
2
你在混合不同的,不相關的東西。 (微型)服務是執行某些特定任務的邏輯實體。他們與其他服務進行通信以執行更大範圍的任務。
表/ CRUD/SQL/NO-SQL來自一個完整的不同級別。其數據的保存位置以及訪問方式。
其確實服務使用SQL並有表。爲每個服務分配表格也可能是一個好主意。我甚至會說,如果2個服務直接使用同一個表,那麼你可能正在考慮一個設計問題。
但是您不能將服務與表格等同起來,從概念上講,它們屬於不同的世界。
1
每個微服務都應該有自己的一套SQL表,其他微服務都不能訪問。但是每個SQL表擁有一個微服務,並且每個微服務都支持CRUD操作,這通常是一種反模式:它將強大的DBMS和查詢語言轉變爲簡單的記錄管理器:沒有跨表交易,連接,過濾,排序,分頁等
1
微服務是任何應用程序的邏輯塊,結合他們在SQL級別沒有任何意義。
例如:讓我們考慮您創建一個訂單服務,它允許客戶下訂單。
現在訂單也包含訂單商品,並可能有客戶對象的參考,對於所有這些,您最終可能會創建多個表。所以,不要只是認爲SQL表和微服務一起
如果您還有疑問發佈更準確的問題,將有助於:)
相關問題
- 1. 微服務和多個數據庫
- 2. 微服務:數據庫和微服務實例
- 3. 無狀態微服務和數據庫
- 4. 如何將數據庫與微服務(和新服務)同步?
- 5. 共享數據庫的微服務?使用多個ORM的?
- 6. 在微服務架構+的NoSql數據庫[微服務體系結構的數據一致性]
- 7. 如何使用PHP MYSQL將數據庫表和每個記錄從一個數據庫服務器複製到另一個數據庫服務器?>
- 8. 如何數據庫表從一個數據庫服務器複製到另一臺數據庫服務器
- 9. 即使微服務不是太多的數據庫密集型服務,微服務是否也必須擁有自己的數據庫?
- 10. 每個用戶及其在服務器上每個數據庫中的角色
- 11. 映射到不同的鏈接服務器每個數據庫
- 12. 查詢每個服務器所需更新的WSUS數據庫
- 13. Symfony2多個數據庫,爲每個表指定數據庫
- 14. 微服務順序數據處理
- 15. 在微服務之間共享數據
- 16. 微數據對Web服務有用嗎?
- 17. NodeJS微服務,合併數據
- 18. 微服務與連接的數據
- 19. 微軟數據質量服務刷新
- 20. 在微服務中分組數據
- 21. 使用現有外鍵進行微服務數據庫遷移
- 22. 針對微服務架構的數據庫設計
- 23. 用於數據庫訪問的單獨微服務
- 24. 從微軟SQL服務器備份SQL數據庫
- 25. 微服務架構的數據庫備份和恢復
- 26. 我想更新服務器上的每個數據庫中的表
- 27. Netbeans數據庫服務空列表
- 28. 服務列表MySQL數據庫設計
- 29. SQL服務器數據庫表性能
- 30. 如何在sqlite數據庫中保存每個微調器值?
每個微服務必須有一個單獨的表和服務間的通信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和對於每個表都是一樣的,有多少個表有很多微服務。 –