我們有一個Web應用程序,它與託管在服務結構集羣中的微服務進行對話(這意味着給定的服務可以託管在多個節點上)。微服務與文檔DB集合交談。可以說,我們有一個服務與獨特的集合談判。我們有批量處理,也可以利用這些微服務中的一些。我可以擁有多個documentDb集合的一致性模型嗎?
我們希望在微服務中遵循UI相關請求的強一致性模型,以便用戶不會對結果感到驚訝。由於非sql數據庫在最終一致性方面表現最佳,因此我們希望爲批處理使用最終的一致性。
- 是否有可能在documentDb中的collection/account級別選擇最終一致性?
- 有了(1),我還可以爲我的UI操作(來自微服務)選擇強一致性嗎?
我們只查找(1)和(2)同時爲真的條件。
如果(1)和(2)同時出現,我該怎麼辦?
這似乎與我所要求的完全相反。這是否意味着我們首先必須將默認一致性設置爲強,並在各個操作中使用最終一致性?或者我可以首先將默認一致性設置爲最終一致性,並在各個操作中使用強一致性?或者兩種選擇都可能? – Raghu
是 - 首先將默認一致性設置爲強,並在各個操作中使用最終一致性。一致性適用於讀取操作 - https://docs.microsoft.com/en-us/azure/documentdb/documentdb-consistency-levels,寫入操作總是提交仲裁(https://docs.microsoft.com/en- us/azure/documentdb/documentdb-distribute-data-global - 「寫入的等待時間保證包括在本地數據中心內持久的大多數仲裁提交」 –