當前位置:
首頁 > 知識 > 微服務這麼火,如何選擇正確的數據存儲?

微服務這麼火,如何選擇正確的數據存儲?

微服務是基礎設施構建的重點,因為它提供服務解耦、數據存儲自主性,小型化開發,測試設置等等,有助於應用程序更快地上市或更新。容器及其編排工具的可用性也促進了微伺服器的採用。

傳統的架構方法是在服務之間共享一個資料庫,而微服務卻與之相反,每個微服務都擁有獨立、自主、專門的數據存儲。例如,電子商務解決方案可以採用以下服務:應用伺服器;、內容緩存、會話存儲;、產品目錄、 搜索和發現、 訂單處理、 訂單完成度、 分析等等。現代電子商務解決方案大多不是採用單個大型資料庫來存儲所有操作和事務數據,而是採用類似下圖的微服務架構,其中每個服務都有自己的資料庫。

微服務這麼火,如何選擇正確的數據存儲?

圖1示例電子商務解決方案中的微服務

如何為微伺服器選擇數據存儲

在設計微伺服器時,最重要的問題就是「如何選擇正確的數據存儲?」

選擇理想數據存儲的第一步是確定微服務數據的性質。數據可以大致分為以下幾類:

  1. 短暫數據:緩存伺服器是存儲短暫數據很好的一個例子。它是一個臨時數據存儲,其目的是通過實時提供信息來改善用戶體驗。微服務通常是高性能的,並且讀取操作密集。如果企業沒有持久性的要求,它不存儲數據的主副本,但它仍然要高度可用,因為故障的產生會影響用戶體驗,繼而造成收入損失。另外,故障也會導致「緩存衝突」的問題,因為資料庫爬網速度慢,無法處理高頻訪問,這可能會導致之前完全可以避免的故障。

  2. 瞬態數據:日誌,消息和信號等數據通常以高容量和速度到達。數據提取服務通常要在將其傳遞到適當的目的地之前處理該信息。這樣的數據存儲需要支持高速寫入。如果額外的支持時間序列數據和內置JSON功能,會是一個加分項。瞬態數據的持久性要求高於短暫數據,但不如交易數據那麼高。

  3. 操作數據:從用戶會話收集的信息(如用戶個人資料,購物車內容等)被視為操作數據。微伺服器需要提供更好的用戶體驗與實時反饋,即使存儲在資料庫中的數據不是永久的記錄,架構也必須盡最大努力保留數據以實現業務連續性。對於操作數據,數據持久性,一致性和可用性要求很高。通常,企業會把操作數據放在在特定的數據模型中,例如JSON,圖形,關係,鍵值等。

  4. 事務數據:從交易(如付款處理和訂單處理)收集的數據必須作為永久記錄存儲在支持強ACID控制的資料庫中。

在上圖所示的電子商務應用中,我們可以對微服務及其各自的數據存儲進行分類,如下表所示:

微服務這麼火,如何選擇正確的數據存儲?

一致性和持久性的可調性

為了優化微服務以獲得性能和數據持久性要求,一定要確認所選資料庫為數據類型提供了適當的可調參數功能。如果追求高性能,那麼純內存資料庫是理想的選擇。如果追求持久性,那麼數據複製以及磁碟或快閃記憶體上的持久性是最好的解決方案。例如,電子商務示例中的緩存伺服器必須針對低延遲,高速讀取操作進行優化。基於數據的性質,資料庫不需要承受持久性。另一方面,在處理訂單時,微服務要保持數據清潔和一致。

下表顯示了如何根據其對原子性,一致性,隔離性和持久性的要求來配置和調整每個微伺服器的數據存儲。

微服務這麼火,如何選擇正確的數據存儲?

最後,同樣重要的是評估資料庫可用的部署和編排選項,以確保所有微服務在同質環境中進行部署和管理。要查找的一些關鍵標準包括:

  1. 作為容器的可用性:由於微服務大多部署為由業務流程工具管理的容器,因此當使用資料庫作為容器時,可以獲得很好的運營效率。

  2. 雲/本地選擇:資料庫是否可在雲端或本地部署,微伺服器部署在哪裡?可用於兩個部署選項的資料庫提供了更大的靈活性。

  3. 供應商鎖定:企業有時會切換業務流程工具,因此確保資料庫支持所有主流的業務流程工具是非常有必要的。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

吳恩達開課每月49美元!嫌貴?這有免費課程!
你了解Linux嗎?它為何能成為企業手中的香餑餑?
企業級市場首發802.11ax產品 魔咒突圍成功?
小程序遇冷,小米卻逆勢而上推出直達服務!
第四範式、eBay、餓了么等企業人工智慧進展如何?

TAG:IT168企業級 |

您可能感興趣

如何正確選擇一個雲服務商?
做正確的選擇為什麼那麼難?
如何選擇正確的太陽傘?
孕婦燒心該吃什麼水果?如何正確選擇?
為什麼要用防嗮?如何正確選擇防嗮?
如何正確的選擇、飼養寵物!
你知道如何正確使用和選擇香水嗎?
花盆種類那麼多,你都懂得如何正確選擇嗎?
卸妝用油還是水呢?不同的膚質要如何選擇卸妝產品呢?
如何正確選擇與潔面產品
多囊宜運動,但是應該如何選擇呢?
頭髮多怎麼辦 你的選擇正確嗎
如何選擇櫥櫃?
【糖用藥】感冒的糖友如何正確選擇用藥,這幾點必須知道!
如何正確選擇粉底液顏色
如何選擇一款合適的護膚品?美容儀真的有效果么?
如何選擇婚姻?
我們真的有必要給手機貼膜嗎?又該如何選擇?
對於機油該如何選擇這個問題「眾說紛紜」,其實注意這幾點真的很簡單!
真正的善良,是一種無悔的選擇