1. 程式人生 > >使用Spring-MongoDB連接全球分布數據庫Cosmos DB(1)

使用Spring-MongoDB連接全球分布數據庫Cosmos DB(1)

使用 子項目 增加 不同的 選擇 使用方式 客戶 port 接口

分布式系統一直都是非常復雜的,尤其是分布式數據庫系統,你如何保證數據的一致性?你如何保證其性能和延遲?你如何實現全球分布而不需要客戶做復雜的配置?在CAP的定理之下,如何設計並對分布式數據庫系統做取舍?Azure Cosmos DB以最簡單使用方式為客戶提供了全球分布式數據庫服務,支持自定義的一致性,保證延遲,而Spring是Java開發者最喜歡的開源框架之一,本文主要介紹如何使用Spring MongoDB來訪問Azure Cosmos DB MongoDB模型:

  • 如何創建和配置Azure Cosmos DB的MongoDB數據庫
  • 如何使用標準的Spring-MongoDB框架和Spring Boot訪問Cosmos DB
  • 如何配置Azure Cosmos DB的全球分發模式
  • Spring應用和MongoDB工具如何訪問Cosmos DB的分發數據庫

Azure Cosmos DB簡介

Azure的Cosmos DB是微軟提供的一個全球分布的,大規模擴展的,多模型支持的數據庫服務,目前流行的物聯網服務,互聯網應用,電子商務網站等應用都可以使用Cosmos DB來支持,Cosmos DB目前支持Table接口,Gremlin的graph計算,MongoDB接口,SQL接口等等:

技術分享

Spring Boot和Spring MongoDB

而對於Java開發者來講,Spring框架可能是最為流行的開源框架了,基於IOC和AOP思想的優雅的編程框架的無數子項目和開源框架,極大的簡化了Java開發人員的開發流程和工作量,而目前Spring社區大力推廣的Spring Boot更進一步的推動了Spring應用的快速構建開發模型:

技術分享

創建和配置Azure Cosmos DB的MongoDB數據庫

  1. 登錄世紀互聯運營的中國Azure(https://portal.azure.cn),當然如果你有海外Azure的賬號也是一樣的,選擇新建,數據庫,選擇Azure Cosmos DB創建"create":

技術分享

  1. 在ID部分輸入你的Cosmos DB名稱,就如之前介紹的,Cosmos DB是多模型數據庫,所以在API部分請選擇"MongoDB",然後輸入資源組名稱,選擇位置,點擊確定即可創建:

技術分享

  1. 在創建完成後,會自動跳轉到數據庫管理主頁,在主頁選擇"添加集合",來新建數據庫和集合:

技術分享

技術分享

請註意:

  • CosmosDB對於容量大小並沒有限制,默認最高為10TB,但如果需要更高的存儲,可以提交支持請求增加
  • 初始吞吐量是預先分配給集合的請求單元,默認最高為100000 RU/S, 但如果需要更高的存儲,可以提交支持請求增加
  • 在創建和配置數據庫的過程中,分區鍵是唯一的,非常重要的配置項,在後續的篇章我會專門講,在此使用設備號作為partition key

  1. 創建完後後,我們需要獲取鏈接到CosmosDB的字符串,一個方式是在界面的左側選擇"連接字符串",你可以看到主機,用戶名,端口,密碼等等;另外一個方式是CosmosDB提供的更為便捷的方式,選擇"快速入門",針對不同的語言,直接提供初始化方式和連接字符串:

    技術分享

技術分享

下一部分介紹如何使用Spring開發,使用Spring-MongoDB訪問Azure Cosmos DB.

使用Spring-MongoDB連接全球分布數據庫Cosmos DB(1)