일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Domain Driven Design
- Linux
- Spring XD
- Gradle
- Spring Batch
- intellij
- design pattern
- Clean Code
- apache storm
- 스프링 배치
- DDD
- 엘라스틱서치
- scala
- nginx
- Spring
- hdfs
- docker
- hadoop
- elasticsearch
- Hbase
- spark
- elastic search
- Angular2
- hibernate
- 제주
- Java
- Storm
- 도메인주도설계
- Spring Boot
- SBT
- Today
- Total
욱'S 노트
Spring XD - 시작하기 본문
이제 Spring XD를 시작해보자.
요구사항
최소 JDK 6 이상 설치가 가능하나 JDK 7 이상을 권고한다.
다운로드
http://repo.spring.io/release/org/springframework/xd/spring-xd/1.0.3.RELEASE/spring-xd-1.0.3.RELEASE-dist.zip
스프링 리파지토리로 가서 다운로드 하자. 일단 이 글을 작성할때의 최신 릴리이즈 버젼은 1.0.3이다. 적당한 위치에 압축을 해제하자.
용량이 상당하다. 265MB 이다.
설치하기
Spring XD는 두가지 모드로 구동할 수 있다. 하나의 테스트 및 개발을 위한 싱글노드 런타임이며, 다른 하나는 멀티노드 프로세싱을 위한 분산 런타임이다. 일단 시작하는 장이니까 싱글 모드로 구동하겠다.
런타임 실행 및 XD Shell
싱글노드는 가장 쉽다. 원하는 모든 것을 싱글 프로세스에서 실행시켜준다. 시작하기 위해 다음의 커맨드를 실행하자.
$ ./xd-singlenode
느낌상 정상적으로 수행된 것 같다. 그럼 다른 터미널 창을 열고 다음과 같은 커맨드를 수행해보자.
$ ./xd-shell
쉘은 Spring XD가 클라이언트로 노출한 REST API를 쉽게 사용할 수 있는 프론트엔드이다. 대상이되는 Spring XD 서버의 URL을 구동시 확인할 수 있다.
Stream 만들기
Spring XD에서 소스로부터 이벤트 기반 데이터를 획득 및 다수의 프로세서로 전달하기 위해서 Stream을 정의한다. XD Shell에서 stream create 명령을수행해서 생성할 수 있다. Stream은 단순한 DSL로 정의한다. 예를들면 다음과 같다.
xd:> stream create --name ticktock --definition "time | log" --deploy
XD 서버쪽에는 다음과 같은 로그가 생성될 것이다.
위와 같은 명령는 time | log라는 DSL 표현을 기반하여 ticktock이라는 이름의 stream을 정의한 것이다. DSL에서 | 는 소스와 대상을 연결한다는 의미이다. Stream 서버는 모듈 디렉토리에서 time과 log 정의를 찾는다. 그리고 그것들을 이용하여 Stream을 설정한다. 이 간단한 예제에서 time 소스는 단순히 매초당 현재 시간을 전송하고, log sink는 결과를 logging 프레임웍을 이용하여 INFO 레벨로 출력한다. 마지막에 보면 --deploy 라는 플래그가 있는데 이것은 즉시 stream을 배포하라는 의미이다.
Stream을 멈추고 제거하기 위해선 아래와 같은 명령을 수행하면 된다.
xd:> stream destroy --name ticktock
'Programming > Spring XD' 카테고리의 다른 글
Spring XD - 아키텍처 (0) | 2015.01.30 |
---|---|
Spring XD - DSL (0) | 2015.01.30 |
Spring XD - 어플리케이션 설정 (0) | 2015.01.29 |
Spring XD - 분산모드 시작하기 (0) | 2015.01.29 |
Spring XD - 소개 (0) | 2015.01.29 |