차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

ha_datasource [2019/06/14 17:10] (현재)
koov 만듦
줄 1: 줄 1:
 +====== HA Datasource ======
 +
 +일반적으로 HA Datasource를 구성할때는 datasource의 url에 Master-Slave의 주소를 모두 적어주는 방식을 많이 사용한다.
 +대표적인 예로 아래와 같다.
 +
 +===== MySQL =====
 +  * https://​dev.mysql.com/​doc/​connector-j/​8.0/​en/​connector-j-multi-host-connections.html
 +
 +==== Configuring Server Failover ====
 +
 +<WRAP prewrap>
 +<code gettext>
 +jdbc:​mysql://​[primary host][:​port],​[secondary host 1][:​port][,​[secondary host 2][:​port]]...[/​[database]][?​propertyName1=propertyValue1[&​propertyName2=propertyValue2]...]
 +</​code>​
 +</​WRAP>​
 +
 +위와 동일한 방법으로 아래와 같이 사용가능
 +
 +<WRAP prewrap>
 +<code gettext>
 +jdbc:​mysql://​myhost1:​1111,​myhost2:​2222/​db
 +jdbc:​mysql://​address=(host=myhost1)(port=1111)(key1=value1),​address=(host=myhost2)(port=2222)(key2=value2)/​db
 +jdbc:​mysql://​(host=myhost1,​port=1111,​key1=value1),​(host=myhost2,​port=2222,​key2=value2)/​db
 +jdbc:​mysql://​myhost1:​1111,​(host=myhost2,​port=2222,​key2=value2)/​db
 +mysqlx://​(address=host1:​1111,​priority=1,​key1=value1),​(address=host2:​2222,​priority=2,​key2=value2)/​db
 +</​code>​
 +</​WRAP>​
 +
 +  * [[https://​dev.mysql.com/​doc/​connector-j/​8.0/​en/​connector-j-reference-jdbc-url-format.html|URL 포멧에 대한 상세한 설명]]
 +
 +
 +==== Configuring Server Load Balancing ====
 +
 +<WRAP prewrap>
 +<code gettext>
 +jdbc:​mysql:​loadbalance://​[host1][:​port],​[host2][:​port][,​[host3][:​port]]...[/​[database]] [?​propertyName1=propertyValue1[&​propertyName2=propertyValue2]...]
 +</​code>​
 +</​WRAP>​
 +
 +===== Oracle =====
 +
 +  * https://​docs.oracle.com/​en/​database/​oracle/​oracle-database/​19/​development.html
 +
 +Oracle DB의 경우 RAC로 구성하면 매우 편리하게 사용할 수 있다. 일반적으로 Failover, Load Balancing등 모든것을 RAC가 관리하기 때문에 사용자나 WAS에서 설정해야할 부분이 거의 없다.
 +
 +<WRAP prewrap>
 +<code gettext>
 +jdbc:​oracle:​thin:​@(DESCRIPTION= ​
 +    (LOAD_BALANCE=on)
 +    (ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1521))
 +    (ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521))
 +    (CONNECT_DATA=(SERVICE_NAME=service_name))
 +)
 +</​code>​
 +</​WRAP>​
 +
 +===== WAS에서 컨트롤 하는 경우 =====
 +
 +JBoss의 Datasource경우
 +''​connection-url''​ 을 ''​url-delimiter''​설정을 통해 여러개로 입력하고 ''​url-selector-strategy-class-name''​를 통해 선택하게 하는 방법을 사용할 수 있다.
 +
 +<WRAP center round todo 60%>
 +해당 내용은 연구가 필요함
 +</​WRAP>​
 +
  
  • ha_datasource.txt
  • 마지막으로 수정됨: 2019/06/14 17:10
  • 저자 koov