길벗 출판사에서 나온 “파이썬 코딩의 기술” 예제는 다음 주소에 있음. https://github.com/gilbutITbook/006764 개인적으로 파이썬을 어느정도 하고 있다면 틈틈히 봐두면 좋을 책.
JBOSS EAP 6 Standalone 환경 구성하기
JBOSS EAP 6 설치를 끝내고 나면 Standalone 이나 Domain 모드로 운영하기 위한 환경 구성을 해야 한다. JBOSS EAP 6 Standalone 환경 구성은 설치한 JBOSS 에서 Standalone 디렉토리를 복사해서 구성하게 된다. JBOSS 를 설치는 JBOSS_HOME 을 설치하는 것이다. 이것 자체로 서버를 운영할수 있지만 이것을 GLOBAL 로 하고 각각의 운영위한 서버는 JBOSS_HOME 에 Standalone, Domain 디렉토리를 복사하고 Localize 해서 만들어진다. 이는 마치 Tomcat 의 Multi Instance 구성하기와 유사하다. 기본환경 먼저 기본적인 환경을 체크하고 넘어가자. 다음과 같다. Linux: CentOS 6, 7 JAVA_HOME: /opt/jdk1.8.0_91 JBOSS_HOME: […]
JBoss EAP 6.4 설치
JBoss EAP 6.4 설치 JBoss EAP 6.4 설치에 대해 다룬다. JBoss EAP 6.4 설치는 GUI와 Text 기반 설치 두가지를 지원 한다. 여기서는 Linux 터미널에서 Text 기반 설치에 대해서 다룬다. 사전준비 JBoss EAP 6.4 를 설치하기 위해서는 JDK 1.7 이상 필요하다. JDK 1.6도 지원한다고 되어 있지만 현시점(2016. 06) 에서 1.6은 너무나 구형이라 권장하지 않는다. 설치를 위해서는 설치 파일이 필요한데, zip 파일과 installer 파일 형태로 제공된다. zip 파일은 그냥 압축해제하면 되지만 installer 는 인스톨 과정을 거쳐야 한다. 여기서는 installer를 이용한 설치에 대해서만 […]
MongoDB 3.x 인증 알고리즘 변경
MongoDB 3.x 부터는 인증 알고리즘이 MONGODB-CR 에서 SCRAM-SHA-1 으로 변경되었다. 그런데 특정 사용자에 대해서 MONGODB-CR 방식을 적용해야할 필요가 생기기도 한다. 그래서 사용자마다 알고리즘을 달리 적용할 수 있을까? 결론부터 말하면 MongoDB 3.x 는 이를 지원하지만 지원하는 것 같지 않은 상태다. 공식적인 지원을 하지만 이를 구현하기 위해서는 서버를 중단해야하고 인증을 해제해야한 다음에 사용자 알고리즘을 고치고 다시 인증을 걸고 서버를 재시작해야 한다. 또, Replica Set 상태에서 Primary 에서 MONGODB-CR 인증을 설정한다고 하더라도 Secondary 에서는 SCRAM-SHA-1 으로 싱크가 된다. 그래서 프로그램상에서 Replica Set 에서 […]
스프링 3 입문 예제소스
스프링 3입문 예제소스 입니다. 스프링 3 입문 예제소스 다음의 주소에서도 구할 수 있습니다. 한빛출판네트워크
MongoDB Replica Set 구성하기
MongoDB 는 Replication 을 지원한다. 이는 서비스의 지속성과 안전성을 제공하는 데이터베이스 시스템의 설비다. MongoDB 는 단순하게 데이터 복제를 위한 것뿐만 아니라 Master 가 장애시에 이를 Slave 를 Master 로 자동승격시켜준다. 수 많은 Slave 중에 어떤 것을 Master 로 승격할지를 투표를 통해서 결정한다. MongoDB 는 투표에 참여하기만 하는 것으로 Arbiter 를 세팅할 수도 있다. 이글은 다음의 아키텍쳐를 기반으로 한다. Replica Set 설정 replication 설정을 위해서 서버 두대에 etc/mongod.conf 파일을 다음과 같이 설정을 해준다.
1 2 3 |
replication: oplogSizeMB: 5120 replSetName: "rs1" |
oplogSizeMB 는 Replication 을 위해사용되는 로그파일의 용량을 […]
MongoDB 설치 및 환경설정
이 글은 MongoDB 설치 및 환경설정에 관한 글이다. 환경설정은 슈퍼유저의 인증을 설정하는 것까지 한다. Download and Extract Mongodb 는 Binary 배포를 하고 있다. 홈페이지에 접속해서 설치할 컴퓨터의 운영체제에 맞는 압축 파일을 다운로드 하면 된다. Downlaod URL 도 제공하기 때문에 서버에서 wget, curl 을 이용해서 바로 다운로드도 할 수 있다. Binary 파일이기 때문에 압축해제 하기만하면 설치가 완료 된다. 압축을 해제하고 나면 다음과 같은 파일들이 나온다.
1 2 3 4 5 6 7 |
mongodb]$ ls -lh 합계 104K -rw-r--r-- 1 instance1 tomcat 34K 4월 28 05:32 GNU-AGPL-3.0 -rw-r--r-- 1 instance1 tomcat 17K 4월 28 05:32 MPL-2 -rw-r--r-- 1 instance1 tomcat 1.4K 4월 28 05:32 README -rw-r--r-- 1 instance1 tomcat 36K 4월 28 05:32 THIRD-PARTY-NOTICES drwxr-xr-x 2 instance1 tomcat 4.0K 6월 4 19:46 bin |
보면알겠지만 달랑 실행을 위한 디렉토리와 파일만 존재한다. 이제 하나하나 설정을 해보자. 디렉토리 생성 먼저, 디렉토리를 […]
JBoss 5 MySQL Replication 접속
만일 MySQL 이 Replication 되어 있다고 한다면 Master 는 read/write 를 Slave 는 read Only 만 하도록 접속을 하고 싶을 것이다. MySQL Connector/J 의 최신버전은 이러한 접속을 지원 한다. 다음은 MySQL Replication 접속을 위한 mysql-ds.xml 예제다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?xml version="1.0" encoding="UTF-8"?> <!-- $Id: mysql-ds.xml 41017 2006-02-07 14:26:14Z acoliver $ --> <!-- Datasource config for MySQL using 3.0.9 available from: http://www.mysql.com/downloads/api-jdbc-stable.html --> <datasources> <!-- mysql DS --> <local-tx-datasource> <jndi-name>MySQLDS</jndi-name> <connection-url>jdbc:mysql:replication://address=(protocol=tcp)(host=192.168.96.31)(port=3306)(type=master),address=(protocol=tcp)(host=192.168.96.30)(port=3306)(type=slave)/spring?useUnicode=true&characterEncoding=UTF-8&autoReconnect=false&useSSL=false&failOverReadOnly=true&loadBalanceStrategy=random&readFormMasterNoSlaves=true</connection-url> <driver-class>com.mysql.jdbc.ReplicationDriver</driver-class> <user-name>spring</user-name> <password>12345</password> <min-pool-size>5</min-pool-size> <max-pool-size>50</max-pool-size> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name> <!-- should only be used on drivers after 3.22.1 with "ping" support --> <!-- <valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name> --> <!-- sql to call when connection is created <new-connection-sql>some arbitrary sql</new-connection-sql> --> <!-- sql to call on an existing pooled connection when it is obtained from pool - MySQLValidConnectionChecker is preferred for newer drivers <check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql> --> <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) --> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources> |
‘connection-url’, ‘driver-class’ 을 유심히 봐야 한다. mysql-ds 에서의 설정은 MySQL 의 접속을 이중으로 하도록만하고 실제 쿼리를 분기하기 위해서는 DAO 에서 @Transactional(readOnly=true) 를 주어야 한다. 이 어노테이션은 읽기만을 하다는 것을 알려주고 이는 MySQL Slave 에 접속하게 된다. 각 메소드마다 어노테이션을 주기 싫다면 AOP 를 […]