1. Collo / Redis to MySQL
https://github.com/blackwitch/Collo
2. 샘플 프로젝트 실행하기
• 샘플 다운로드 (step 1 참조)
• MySQL (혹은 MariaDB)에 샘플 데이타베이스
와 테이블 세팅하기
• Redis에 샘플 데이터 삽입하기
• Repository 설정 변경하기
• 테스트 실행하기
3. 0 – 시작 전 준비사항
• Node.JS(https://nodejs.org)를 설치하세요.
• Collo를 설치하세요.(https://github.com/blackwitc
h/Collo)
• Redis와 MySQL을 테스트 할 시스템에 설치하세요.
• 만약 이미 테스트에 사용할 수 있는 Redis와
MySQL이 있다면 별도 인스톨은 필요 없습니다.
4. 1 – 샘플 다운로드
• https://github.com/blackwitch/Collo/blob
/master/samples/01-redis-mysql.zip
• 위 링크에서 샘플을 다운로드 하세요.
(Collo를 github에서 다운로드 하셨다면
이미 포함되어 있습니다.)
5. 2 – 데이타베이스와 테이블 설정
• MySQL에서 “collo-mysql-sample-db.sql”
를 실행하세요.
• 다운로드한 샘플에 포함되어 있습니다.
6. 3 – Redis에 샘플 데이터 입력하기
• Redis에서 아래 쿼리를 실행하세요.
rpush test_key ‘{“company”:”company_A”, “sales”:1000}’
rpush test_key ‘{“company”:”company_B”, “sales”:2000}’
rpush test_key ‘{“company”:”company_C”, “sales”:3000}’
rpush test_key ‘{“company”:”company_D”, “sales”:4000}’
rpush test_key ‘{“company”:”company_E”, “sales”:5000}’
(*복사하지 말고 직접 입력하세요.)
7. 4 – 저장소 설정하기
“repos.json” 파일 내용
{
"redis_repo" : { // redis 설정 예
"name" : "redis",
"type" : "redis",
"ip": "127.0.0.1",
"port": 6379
},
"mysql_repo" : { // mysql 혹은 mariadb 설정 예
"name" : "db4write",
"type" : "mysql",
"config" : {
"host" :"127.0.0.1",
"port" : 3306,
"user" : "tester",
"password" : "test_pw",
"database":"dbTest1",
"multipleStatements": true
}
}
}
(* 설치된 Redis와 MySQL 설정에 알맞게 ip와 port를 수정하세요.)
8. 5 – 작업 설정하기
“jobs.json” 파일 내용
{
"mysql_sample" : {
"schedule" : "*/10 * * * * *", // 작업의 스케쥴 설정 예. 매 초 마다
"from" : "redis_repo", // 저장소에 설정된 redis 저장소 이름
"get_query" : "lpop test_key",
"to": [" mysql_repo”], // 저장소에 설정된 mysql 저장소 이름
"set_query": ["insert into tb4write (company, sales) values (?, ?)",
"company=?, sales=?"],
"set_query_param": ["@company as string, @sales as int", "@company
as string, @sales as int"]
}
}
(* 이 예제는 redis에서 읽은 데이터를 mysql에 삽입하는 예입니다.)
9. 6 - 실행하기
• Collo가 설치된 폴더를 찾으세요. 아직 다운로드 하지 않았다면 https://github.com/blackw
itch/Collo 에서 다운 받으세요.
• 다운로드된 샘플에서 “repos.json”과 “jobs.json” 파일을 Collo의 src 폴더에 복사하세요.
• Step 3을 참고하여 Redis에 샘플 데이터를 입력하세요.
• Console에서 Collo의 src 폴더로 가 “node collo”를 실행하세요. Collo는 10초에 하나씩
Redis에 입력된 데이터를 MySQL로 이동시킬 겁니다.
• 실행된 collo를 강제 종료 후 재시작하면 남은 데이터를 계속 MySQL로 이동합니다.
• 그럼, MySQL로 접속하여 “dbtest1.tb4write” 테이블을 조회하면 입력된 결과를 볼 수 있습
니다.
• 끝!!