MongoDB集羣配置選項詳解

 

MongoDB的配置如下:

mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/databaseName?replicaSet=<replicaSetName>

replicaSet :表示集羣的名稱,若不配置,則集羣不起作用。只會一直從主節點操作數據。

其中:

  • username 和 password 是數據庫的登錄名和密碼。
  • hostX 和 portX 是副本集成員的地址和端口號,可以將多個副本集成員的地址和端口號用逗號分隔。
  • databaseName 是要連接的數據庫名稱。
  • replicaSetName 是副本集的名稱。

示例代碼如下:

var connStr = "mongodb://user:password@localhost:27017,localhost:27018/mydb?replicaSet=myReplSet";
var client = new MongoClient(connStr);

如果要做讀寫分離,可這麼寫
var mongoUrl = new MongoUrl("mongodb://localhost:27017,localhost:27018/mydb?replicaSet=myReplSet");
var settings = MongoClientSettings.FromUrl(mongoUrl);
settings.ReadPreference = ReadPreference.SecondaryPreferred;  //優先從子節點讀取
settings.WriteConcern = WriteConcern.WMajority;  //寫操作優先從主節點操作

var client = new MongoClient(settings);

 

或者在配置中直接寫

mongodb://user:password@localhost:27017,localhost:27018/mydb?replicaSet=myReplSet&[option對象]

optoin對象可配置的如下:

MongoDB.Driver 驅動中連接字符串配置選項包括:(從5開始都是額外的配置)

  1. Server: 指定 MongoDB 服務器的地址和端口號,可以是單個主機名或 IP 地址,也可以是多個用逗號分隔的主機名或 IP 地址。

  2. Database: 指定連接的數據庫名稱。

  3. Username: 指定連接的用戶名。

  4. Password: 指定連接的密碼。

  5. ReplicaSet: 指定複製集名稱。

  6. ReadPreference: 指定讀取數據時的偏好設置,可以是Primary(默認,從主節點讀取數據)、Secondary(從節點讀取數據)、PrimaryPreferred(優先從主節點讀取數據,如果主節點不可用則從節點讀取數據)、SecondaryPreferred(優先從節點讀取數據,如果從節點不可用則從主節點讀取數據)、Nearest(從最近的節點讀取數據)。

  7. WriteConcern: 指定寫入數據時的確認級別,可以是1(默認,寫入到主節點並等待確認)、Majority(寫入到大多數節點並等待確認)、MajorityAndPersisted(寫入到大多數節點並等待確認,並持久化到磁盤)。

  8. ConnectTimeout: 指定連接超時時間,單位爲毫秒,默認爲30,000毫秒。

  9. SocketTimeout: 指定套接字超時時間,單位爲毫秒,默認爲30,000毫秒。

  10. MaxConnectionIdleTime: 指定連接最大空閒時間,單位爲毫秒,默認爲10,000毫秒。

  11. MaxConnectionLifeTime: 指定連接最大生命週期,單位爲毫秒,默認爲30,000毫秒。

  12. MaxConnectionPoolSize: 指定連接池最大連接數,默認爲100

  13. MinConnectionPoolSize: 指定連接池最小連接數,默認爲0

  14. WaitQueueSize: 指定等待隊列大小,默認爲500

  15. WaitQueueTimeout: 指定等待隊列超時時間,單位爲毫秒,默認爲2,00毫秒。

  16. Ssl: 指定是否使用 SSL 加密連接,默認爲false

  17. SslVerifyCertificate: 指定是否驗證 SSL 證書,默認爲true

  18. UseTls: 指定是否使用 TLS 加密連接,默認爲false

  19. AuthMechanism: 指定認證機制,可以是SCRAM-SHA-1MONGODB-X509PLAINGSSAPI等。

  20. AuthMechanismProperties: 指定認證機制的屬性,如CANONICALIZE_HOST_NAME=trueSERVICE_NAME=mongodb等。

完整如下:

mongodb://user:password@localhost:27017,localhost:27018,localhost:27019/mydb?replicaSet=myrs&readPreference=secondaryPreferred&writeConcern=majority&connectTimeoutMS=30000&socketTimeoutMS=30000&maxIdleTimeMS=10000&maxLifeTimeMS=30000&maxPoolSize=100&minPoolSize=0&waitQueueSize=500&waitQueueTimeoutMS=2000&ssl=true&sslVerifyCertificate=true&tls=false&authMechanism=SCRAM-SHA-1&authMechanismProperties=CANONICALIZE_HOST_NAME=true,SERVICE_NAME=mongodb

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章