1. 程式人生 > >spring配置mongodb連線副本集多個節點

spring配置mongodb連線副本集多個節點

mongodb版本3.4.x

1、配置副本集

注意:必須配置仲裁節點,本來我以為仲裁節點作用不大,後來發現如果沒配置仲裁節點,即使程式碼配置了多節點連線,一旦主節點關閉了,程式不會正常切到備用節點。

後來又驗證了下:

要麼1個主節點,1個從節點,1個仲裁

要麼1個主節點,2個從節點

就是共大於等於3個節點,主節點關閉了,子節點

才能正常切換

2、spring配置(帶密碼的)

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p"   
    xmlns:mongo="http://www.springframework.org/schema/data/mongo"    
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd  
            http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd 
            http://www.springframework.org/schema/data/repository http://www.springframework.org/schema/data/repository/spring-repository-1.5.xsd">  
         
	<!-- mongodb 版本3.4.7 -->
	<!--mongodb credentials的配置形式是:使用者名稱:密碼@預設資料庫  -->
	<!-- <mongo:mongo-client id="mongoClient" host="${db.host}" port="${db.port}" credentials="${db.user}:${db.pwd}@${db.name}"></mongo:mongo-client> -->
    
    <!-- replica-set 副本集連線 -->
    <!-- replica-set格式:ip1:port,ip2:port -->
	<mongo:mongo-client id="mongoClient" replica-set="${db.replica-set}" credentials="${db.user}:${db.pwd}@${db.name}">
		<mongo:client-options
                connections-per-host="100"
        />
	</mongo:mongo-client>
	
	
	<mongo:db-factory id="mongoDbFactory" dbname="${db.name}" mongo-ref="mongoClient"/>
    
    
    <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
        <constructor-arg ref="mongoDbFactory" />
    </bean>
      
</beans>
其中主要是通過 replica-set="${db.replica-set}"來配置副本集

 replica-set的格式為ip1:port1,ip2:port2

只需要新增主從節點,不需要新增仲裁節點

3、屬性檔案

#mongodb-config
db.port=40000
db.host=127.0.0.1
db.user=dev
db.pwd=123456
db.name=isdb
db.replica-set=127.0.0.1:40000,127.0.0.1:40001


相關推薦

spring配置mongodb連線副本節點

mongodb版本3.4.x 1、配置副本集 注意:必須配置仲裁節點,本來我以為仲裁節點作用不大,後來發現如果沒配置仲裁節點,即使程式碼配置了多節點連線,一旦主節點關閉了,程式不會正常切到備用節點。 後來又驗證了下: 要麼1個主節點,1個從節點,1個仲裁 要麼1個主節點

Mongodb3.0.5副本搭建及spring和java連線副本配置

這是去年寫的一篇文件,最近突然發現並沒有發不出來,因此現在補上,希望能對某些朋友有所幫助。因為當時記錄時沒有截圖,因此這裡看起來可能就比較單調。一、基本環境:mongdb3.0.5資料庫spring-data-mongodb-1.7.2.jarmongo-java-drive

MongoDB副本配置

MongoDB主從複製 主從複製是 MongoDB 最早使用的複製方式, 該複製方式易於配置,並且可以支援任意數量的從節點伺服器,與使用單節點模式相比有如下優點: 在從伺服器上儲存資料副本,提高了資料的可用性, 並可以保證資料的安全性。 可配置讀寫分離,主節點負責寫操作,從節點負責讀

spring boot中使用spring JdbcTemplate(一)——連線池建立連線

本文參考了網上一些文章,最後整理實踐得出。1、建立一個springboot的demo程式,可以參考我的文章:2、看一下目錄結構:3、首先需要在pom檔案中引入依賴:<!-- https://mvnrepository.com/artifact/mysql/mysql-c

一、mongodb之單個例項、主從配置節點

在大資料的時代,傳統的關係型資料庫要能更高的服務必須要解決高併發讀寫、海量資料高效儲存、高可擴充套件性和高可用性這些難題。不過就是因為這些問題Nosql誕生了。 NOSQL有這些優勢:  · 大資料量,可以通過廉價伺服器儲存大量的資料,輕鬆擺脫傳統mysql單表儲存量級限制

MongoDB分片副本搭建

linux members min sharding 集合 cti rds arbiter add 1、安裝mongodbtar xvf mongodb-linux-x86_64-enterprise-rhel70-3.6.2.tgz -C /usr/local/cd /u

Filebeat 采文件到es

filebeat主要filebeat配置: #采集器 filebeat.prospectors: input_type: logpaths: /var/log/rsyncd.log input_type: logpaths: /var/log/messagesfields:syslog: messag

Office 365 On MacOS 系列——配置瀏覽器賬號同時管理訂閱

Office365 O365 MacOS Chrome 雲計算 作為 O365 管理員,有時需要管理多個訂閱,特別是那些既有國際版訂閱,又有 21V 版訂閱的企業。那麽問題來了,瀏覽器在已經登錄了一個賬號的情況下,無法同時登錄另一個賬號,除非使用另一個瀏覽器。 同一個瀏覽器在已經

mongoDB副本群搭建

集群 admin restrict release tran googl aaaaa chm zxvf 參考文章:http://www.cnblogs.com/kevingrace/p/5685486.html下載mongodb並解壓 https://www.mongodb

配置MongoDB復制

客戶端 freeze not 集中 replicat cto 啟動 配方 備份 什麽是復制集? 復制集是額外的數據副本,是跨多個服務器同步數據的過程,復制集提供了冗余並增加了數據可用性,通過復制集可以對硬件故障和中斷的服務進行恢復。復制集的優勢如下: 讓數據更安全 高數

MongoDB副本

MongoDB的副本集 一、副本集相關概念 1.副本集 2.副本集特徵 3.副本集節點型別 4.複製 5.複製優點 二、副本集配置 一、副本集相關概念 1.副本集 有自動故障恢復功能

SpringBoot專案開發(二十二):SpringBoot MongoDB實現副本(讀寫分離)

1.MongoDB可以單庫、主從(官方現已不推薦)、副本集、分片加副本集,通過分片加副本集可以組成龐大的資料儲存叢集,而大部分專案使用副本集就能滿足需求了 2.MongoDB副本集(Replica Set):有自動故障恢復功能的主從叢集,有一個Primary節點和一個或多個Secon

Spring配置HikariCP連線池HikariCP連線

   在spring框架中,經常將連線池的設定引數獨立成一個.properties檔案,它可以根據客戶需求,自定義一些相關的引數。而引數的讀取一般寫到applicationContext.xml的檔案中(後文將會詳細介紹該檔案的作用)。然後通過org.springframewor

mongodb製作副本 以及使用者名稱密碼認證

  192.168.56.11                 192.168.56.12   192.168.56.13  三臺機器     

Spring配置資料庫連線池Druid

連線池原理 連線池基本的思想是在系統初始化的時候,將資料庫連線作為物件儲存在記憶體中,當用戶需要訪問資料庫時,並非建立一個新的連線,而是從連線池中取出一個已建立的空閒連線物件。使用完畢後,使用者也並非將連線關閉,而是將連線放回連線池中,以供下一個請求訪問使用。而連線的建立、斷開都由連線池自身來管理。同時,還

nodejs配置mongodb連線

1. 寫這個部落格提醒下自己,走過的坑。 2. 廢話不再說,直接上乾貨。 3. 程式碼           ①引入模組       &

SpringBoot-配置檔案詳解之配置檔案

在現實的開發環境中,我們需要不同的配置環境。比如開發環境用於開發,測試環境用於測試,預生產環境用於釋出測試。那麼對於多個環境的配置檔案,其檔案格式為:application-{profile}.properties,其中{profile}對應我們的環境標識。比如我們這裡定義了

Linux環境下庫svn安裝與配置(獨立庫,配置檔案)

[先在伺服器中開啟放行 3690 埠!!!] (1)檢視是否已經安裝了svn 命令:svnserve --version 沒有安裝,出現下面資訊-> 已經安裝,出現下面版本資訊-> 檢視安裝svn的路徑資訊:rpm -ql subversion

MongoDB副本功能及節點屬性梳理

副本集的主要功能 副本集是MongoDB高可用的基礎,其主要作用 歸納為以下幾點: (1)高可用,防止裝置(伺服器、網路)故障。提供自動FailOver功能。 (2)無需配置高可用性虛擬節點;無論是SQL Server 的AlwaysOn 還是 MySQL 的 MHA方案 都需要有可用性組 或叢集的虛擬

手把手教你從原始碼開始搭建自己的以太坊公鏈(四)部署及連線節點

1. 使用相同的創世區塊檔案genesis.json 創世區塊genesis.json檔案內容如下: { "config": { "chainId": 100, "homestea