MySQL數據庫讀寫分離的簡單方法

MySQL數據庫讀寫分離主要利用了MySQL提供的Java客戶端的ReplicationDriver的特性。


簡單的讀寫分離改造方案:

1、使用DBCP的數據庫連接池(DBCP2暫時不支持)

2、數據源配置成:

jdbc:mysql:replication://localhost:3306,localhost:3307/test?autoReconnect=true&characterEncoding=utf-8&useUnicode=true&zeroDateTimeBehavior=convertToNull

第一個地址爲主庫,後面的爲從庫,從庫可以配置多個

3、通過Spring的事務配置,所有readOnly = true的都會通過從庫查詢,如果從庫有多個,會在多個從庫中選一個進行查詢。


數據源配置:

	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.ReplicationDriver" />
		<property name="url" value="jdbc:mysql:replication://localhost:3306,localhost:3307/test?autoReconnect=true&amp;characterEncoding=utf-8&amp;useUnicode=true&amp;zeroDateTimeBehavior=convertToNull" />
		<property name="username" value="root" />
		<property name="password" value="test" />
	</bean>


備註:

hibernate.connection.release_mode不能設置爲after_transaction

hibernate.transaction.auto_close_session不能設置爲true

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