7. 배경 용어 정리 JOB JOB JOB JOB JOB JOB JOB JOB Batch Job Batch 처리 플랫폼 Failover Log UI(Dashboard) Monitoring& Alert Scheduler LoadBalancing Batch Job : 시스템 사용자가 주기적으로 또는특정시간에 자동으로 실행되도록 하는 프로그램 Batch 처리 플랫폼 : Batch Job을 실행하는 기반 프로그램
47. Batch처리 플랫폼 선택 서비스 부서에서 사용하는 Batch 처리 사례 및쓸만한 오픈 소스 확인 Linux/crontab Python/ Perl/PHP/C/C++ Shell Script Hadoop Spring Batch GridGain Hudson SSH/RSH Rsync Common java Custom Admin Quartz MQ 내부 솔루션 Spring Batch Admin Control-Tier
48. Batch처리 플랫폼 선택 Batch Job이 성격이 너무 다양하기 때문에다양한 해결 방법은 당연 다만, java 개발자가 처음쓰기에 괜찮은.. Batch Job을 쉽게 개발할 수 있는.. 유지보수가 편한.. 서로 공유할 수 있는..괜찮은 Batch Job Framework와 Batch 처리 플랫폼이 있으면 좋겠다
55. 배경 Batch 처리 플랫폼 선택 Spring Batch 소개 Hudson 소개 적용사례
56. Spring Batch 소개 History SpringSource와 컨설팅 회사 Accenture가 협업해서 개발한 Framework 실제 개발 사례를 바탕으로 표준화된 API를 개발 1.0 Release (2008.2) 2.1.8.Release (2011.6.1)
57. Spring Batch 소개 Concept “bash$ java CommandLineJobRunner endOfDayJob.xml endOfDayschedule.date(date)=2011/06/19” Shell Script JMS File DB CommandLineJobRunner BO JMS File DB 문서 참조 http://static.springsource.org/spring-batch/reference/html/domain.html
91. Hudson 소개 구성 Job 실행 Job 실행 Job 실행 Rsync Batch Platform (master) Standby Batch Platform (master) Batch Platform (master) Job 실행 SSH SSH Rsync Job 실행 Job 실행 Batch Platform (standalone) Job 실행 Job 실행 slave (backup) Slave Slave Slave Slave 단독 설정 백업 확장 구조 확장-백업 구조
92. Hudson 소개 Batch 운영 플랫폼 Spring Batch Job C/C++, …. JOB JOB JOB JOB Hudson Job Repository DB Tomcat Java VM plugin Spring Batch Dashboard Plugin
97. Hudson 소개 Hudson API ▼ job 상세 정보 ▼ 제어 http://1.1.1.1/hudson/restart http://1.1.1.1/hudson/job/myjob/config.xml ▼ job 리스트 ▼ 마지막으로 job이실행했던 정보 http://1.1.1.1/hudson/job/myjob/lastBuild/api/xml http://1.1.1.1/hudson/api/xml
98. Hudson 소개 Hudson UI – Dashborad(자체 개발) 1 2 Spring Batch Job 실행통계 - Job RepositoryDB로부터 정보 얻어옴 - 특정 기간 동안의 전체 실행 개수 대비실패율을 확인 - Refresh 기능 Cron정보을바탕으로 다음 실행시간을 예측 1 2
99. Hudson 소개 Hudson UI – Spring Job Dashborad(자체 개발) ▼ Job Repository 정보 확인
100. Hudson 소개 Hudson UI – Spring Job Time Table (자체 개발) ▲ 실행 주기, 얼마나 소요되는지 확인
101. Hudson 소개 Hudson UI – Job 실행 시간 지연 & Job 실패 시 SMS/Mail 알림 (자체 개발)
102. Hudson 소개 Hudson UI – Job Repository 등록 및 로그 삭제 (자체 개발) Job Repository DB 정보Job Repository DB 로그 삭제 (table constraint 염두)