簡體   English   中英

MongoDB在Azure上的角色

[英]MongoDB on Azure worker role

我正在使用SignalR開發一個應用程序來管理網絡套接字,並允許我的客戶端彼此對話。

我打算將此后台托管在Azure工作者角色上。 由於我的SignalR請求所攜帶的數據大部分時間都保存在數據庫中,所以我想知道NoSQL的MongoDB而不是經典的SQL Server / Entity Framework對應該是一個好方法。

假設我的應用程序的數據類型將是其中大多數的字符串,我認為MongoDB將是可靠且高性能的解決方案,它將使我擺脫Azure的SQL的數據庫成本。

有關信息,Azure worker角色將在具有以下硬件的計算機上運行:1個核心CPU,3.5GB RAM和50GB SSD存儲。

您認為我在這種體系結構方面有良好的開端嗎?

謝謝

您認為我從這個架構開始嗎?

一言以蔽之。

用戶詢問有關在角色上運行Redis的類似問題- 在Azure雲服務工作者角色上設置 Redis-該Q / A上的所有內容都與MongoDb上下文相關。

我建議您仔細閱讀我的答案,但要概述為什么這是一種不良的架構方法:

  1. 您不能保證Azure Service Fabric將何時重新啟動工作角色。
  2. 在Mongo的實際實現中,您將在一個集群中運行多個節點,並且只有一個Worker角色(如您在問題中所建議的),這是不可能的。
  3. 將需要在輔助角色中管理您的MongoDb安裝,而它們並不是為此而設計的。

如果您真的確定要使用Mongo,建議您使用托管解決方案,例如MongoLabs(如先前答案中所建議),或考慮將其托管在Azure IaaS VM上。

如果您對使用Mongo不滿意,我會真誠地建議您查看Microsoft的Azure NoSQL產品Azure DocumentDb(也在上面建議)-我已經在多個生產系統中使用過它,並且它肯定是一個功能強大的NoSQL解決方案; 當然,它可能不具有MongoDb的所有可用功能。

如果您正在尋找一種用於數據緩存(即長期存儲)的NoSQL解決方案,我建議您看一下Azure Redis Cache,它是功能非常強大的Redis產品。

Azure有自己的本地NoSQL Document數據庫,稱為DocumentDB ,您是否看過它? 如果您是我,我將使用DocumentDB,除非您有一些未提到的特殊要求,但是從您發布DocumentDB的一點要求信息中就可以了。 在基本功能方面,我認為它與MongoDB不太相似,請參閱本文以了解Azure DocumentDB和MongoDB之間的比較

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM