일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- kafkastreams
- scala
- schema registry
- scala 2.10
- enablekafkastreams
- play framework
- Elasticsearch
- aws
- spring-kafka
- avo
- springboot
- Elk
- 카프카
- confluent
- Logstash
- 한빛미디어
- kafka streams
- Slick
- statestore
- spring-cloud-stream
- 플레이 프레임워크
- kafka interactive query
- reactive
- Spring
- coursera
- spring-batch
- RabbitMQ
- Kafka
- kafkastream
- gradle
- Today
- Total
b
Spring Cloud Stream 의 버전 선택 본문
밑에는 잡담이니 결론 부터
* 결론 Ditmars.SR3 사용, Spring 4, Boot 1.5.x는 기존대로 유지
* Kafka 는 0.1x 유지
* spring-cloud-stream-reactive & reactor 3.1.X 사용 ( rxjava2 버림 )
* 우리가 사용중인 Spring Cloud Dalston SR5는 Ditmars 버전 매트릭스에 맞지 않다 이전 버전인 Chelsea.SR2를 고려해야한다.
* 하지만 Ditmars.SR3 버전으로 리서치를 진행 할 예정이다.
* Ditmars.SR3 은 spring-kafka 1.1.7 이므로 @EnableStream 사용등은 커스텀마이징을 해야 하기 때문에 추천버전은 Kafka 0.10을 그대로 사용 해서 진행 한다
Ditmars.SR3 의존성 정보
Spring Cloud Stream Core 1.3.2.RELEASE
Spring Cloud Stream Binder Kafka 1.3.2.RELEASE
Spring Boot : Spring Boot 1.5.7 or a later 1.5.x release. It is not compatible with Spring Boot 2.x.
Spring Cloud : Spring Cloud Edgware.SR1
라이브 러리 버전 상세 정보
- 링크 : https://github.com/spring-cloud/spring-cloud-stream-starters/blob/vDitmars.SR3/spring-cloud-stream-dependencies/pom.xml
- 링크 : https://github.com/spring-cloud/spring-cloud-stream/blob/v1.3.2.RELEASE/pom.xml
- reactor : 2.0.8.RELEASE (default)
- rxjava : 1.1.10 (optional 이므로 spring-cloud-stream-rxjava 를 추가)
spring-cloud-stream-reactive
* reference : https://docs.spring.io/spring-cloud-stream/docs/Ditmars.SR3/reference/htmlsingle/#_reactive_programming_support
* spring-cloud-stream 에 reactive API를 사용하기 위한 지원용 라이브러리이다.
* 기본은 reactor 이며, ConditionalOnClass 에 의해 rxjava 를 지원하지만 가장 최신 버전까지도 rxjava 1.x 만을 지원한다.
* 추가로 @StreamEmitter 어노테이션이 추가된다.
* ReactiveSupportAutoConfiguration 가 존재하며, rx.Observable 클래스를 확인 한후 rxjava 를 지원한다
* 아래의 Adapter 들을 Spring bean으로 등록시켜서 Observable type을 처리해준다.
- MessageChannelToInputObservableParameterAdapter
- MessageChannelToObservableSenderParameterAdapter
- ObservableToMessageChannelResultAdapter
* rxjava를 굳이 쓰겠지만 rxjava1을 쓰는게 속편하다, 하지만 rxjava2 를 현재 쓰고 있는데 down-grade할 정도로 필요성은 있어 보이지 않고
그냥 이번기회에 (어차피 옮길거) reactor를 써보기로 함
'Cloud' 카테고리의 다른 글
stream kafka app 에 rabbitmq sleuth 사용하기 (0) | 2018.01.31 |
---|---|
kafka stream의 fail-over & high-availability (0) | 2018.01.30 |
Kafka 기반의 event driven stateful microservices (0) | 2018.01.28 |
AWS EC2에 tomcat7 & java8 설치 (0) | 2014.07.09 |
google cloud compute engine 시작하기. (0) | 2013.11.22 |