일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring-cloud-stream
- avo
- springboot
- gradle
- Logstash
- kafkastreams
- spring-batch
- 카프카
- coursera
- statestore
- kafka streams
- Elasticsearch
- play framework
- RabbitMQ
- schema registry
- scala
- Spring
- Kafka
- Elk
- spring-kafka
- reactive
- 플레이 프레임워크
- 한빛미디어
- confluent
- enablekafkastreams
- aws
- kafkastream
- Slick
- kafka interactive query
- scala 2.10
- Today
- Total
목록kafkastream (3)
b
처음에는 이 메소드의 효용성? 사용범위? 에 대해서 이해하지 못했다. 그냥 최초에 Streams Application이 기동될때, State 가 migration 되는 동안 Application 의 health 를 DOWN 정도으로 바꾸는 정도? (즉 Created -> Running) 최근에 하나 더 든생각은 isRunning 상태에서 다른 상태로 빠질 경우이다. (isRunning은 RUNNING or REBALCING 이다) 이 때에는 API로 제공되는 KeyStore를 query하면 에러가 발생 할 것이다. 그러므로this.kafkaStreams.setStateListener((newState, oldState) -> { if(newState.isRunning() ){ this.ready = tr..
springboot는 spring framework 를 좀 더 빠르고 쉽게 사용할 수 있는 목적을 가진 영역이다. 하지만 어느 순간부터 Spring 이외에도 Boot 까지 '제대로' 이해하지 못하면 엉망이 될 수 있는 존재가 되어버렸다. 특히, Condition annotation이 추가되면서 내부적으로 자세히 보고 적용을 해야한다. 예를 들어보면,1. KafkaStream을 쓰기 위해 spring-kafka를 import 할경우 (cloud-stream-xxx역시 마찬가지) 간단한 String 이나, 추천되어지는 Avro 가 아니고 Json으로 (디)시리얼라이저를 지정한다고 할 경우, 안에서 어디에서 new ObjectMapper가 만들어지고, 어디 설정은 application.yml의 spring.k..
Spring Application 에서 Stream을 materialize 하기 위해서는 StateStore를 bean으로 접근 가능하게 해야한다. (xxxxRepository를 @Repository로 사용하는것과 같게 생각하면 된다)그러기 위해서는 https://kafka.apache.org/10/javadoc/index.html?org/apache/kafka/streams/KafkaStreams.html 에서 store method를 이용해서 (최소한) KeyValueStore 형태의instance를 가지고 있어야 한다. 당연히 이 코드는 Spring Bean 내부에서 만들것이고, 그러면 제목과 같은 에러 메시지를 50프로 이상 볼 수 있다.confluent의 FAQ에서 해답을 찾을수 있는데 Kafk..