일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- scala
- kafka streams
- Elasticsearch
- reactive
- play framework
- schema registry
- statestore
- Logstash
- Spring
- 카프카
- 플레이 프레임워크
- aws
- enablekafkastreams
- spring-cloud-stream
- 한빛미디어
- spring-kafka
- confluent
- kafkastream
- springboot
- scala 2.10
- spring-batch
- kafkastreams
- kafka interactive query
- avo
- RabbitMQ
- gradle
- Slick
- coursera
- Elk
- Kafka
- Today
- Total
목록분류 전체보기 (167)
b
엘라스틱 커뮤니케이서 본 글 ( https://www.facebook.com/groups/elasticsearch.kr/permalink/2277648678987626/ ) random-score로 특정 문서 몇개를 추출 하는 방법에 대한 고민이다. { "size": 1, "_source" : "type", "query": { "function_score": { "random_score": {}, "query": { "bool": { "must_not": { "term" :{ "type": "APPROVAL_REQUESTED" } } } } } } } 이렇게 하여 랜덤으로 문서 1개를 뽑을 수 있을 것 같았다. 하지만 must_not 은 score 를 항상 0 점으로 반환하므로 거기에 random sco..
Spring은 2007년인가 처음 가산에서 박찬욱님에게 교육을 들으면서 접하기 시작햇고, 가장 깊게 이해하며 많이 사용하는 프레임워크이다. 08년 부터 본격적으로 상용서비스에 Spring을 사용하기 시작했고 이때는 3계층 레이어가 대세였다. ( https://sites.google.com/site/telosystutorial/springmvc-jpa-springdatajpa/presentation/architecture , 특히 2.5에서 3종 annotation이 완성되면서 클래스 이름 조차, xxxController, xxxService, xxxRepository ... 으로 완전히 정형화 되었던 기억이... ) public class BrandController { private BrandServi..
Java 에 대한 고민은 예전부터 있어왔는데, 특히 '쓸데 없이 많은 코드'가 많은거에 대한 것. 처음 자바를 배웠을 때는 아래와 같은 private member, getter, setter이 당연한 것이었다. public class Seller { private Integer no; private String name; public Integer getNo() { return no; } public void setNo(Integer no) { this.no = no; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 이후 lombok 등이 등장함에 따라 @Data public..
2018년 3월 GatewayPropertiesTest 를 작성하다가 겪은 시행착오. Junit5 (Jupiter)를 테스트하기 위한 방법으로 Spring5에서 SpringJUnitConfig 가 추가되었다. 쉽게 `@ExtendWith(SpringExtension.class) @SpringBootTest` 를 통합한 하나의 Annotation 이라고 생각해도 된다. 그래서 아래와 같은 방법으로 테스트를 작성할 수 있다. @SpringJUnitConfig(classes = ElasticPropertiesTest.InnerConfiguration.class) public class ElasticPropertiesTest { @Autowired String username; @Test public void ..
전체 클러스터를 7.0.1 에서 7.1.1 로 업그레이드 하다가 생긴 이슈이다. 몇몇 인덱스의 replica shard가 제대로 할당이 안되는 문제가 발생 함 GET _cluster/allocation/explain 명령으로 이슈를 찾음 "explanation" : "cannot allocate replica shard to a node with version [7.0.1] since this is older than the primary version [7.1.1]" 특정 노드 한개만 7.1.1 버전으로 업그레이드 하는 도중에는 master index의 replica shard가 제대로 생성되지 않는 다는 이슈를 이번에 확인 함
과거의 기록 domain 패키지에는 도메인 클래스와 UseCase등의 interface를 위치하고, infra 패키지에는 실제 인프라스트럭쳐와 연동되는 구현코드가 위치했다. 원칙적으로는 domain package는 pure 해야 한다. 하지만 아래의 MessageProducer class는 POJO임에도 불구하고, Domain 에 포지셔닝 하고 있음에도 springframework 의 SendResult에 의존을 가지고 있었다. package vine.eda.gateway.domain.messaging; import org.springframework.kafka.support.SendResult; import java.util.concurrent.CompletableFuture; public interf..
2017.07에 테스트 한것을 가져옴 kafka version 1.1 1. min.insync.replicas=2, replication-factor=1 생성) kafka-topics --create --zookeeper localhost:2181 --config min.insync.replicas=2 --topic top2 --partitions 1 --replication-factor 1 > 생성은 잘 된다. > 의견 : 생성 자체가 안되었으면 좋았을것 같다 (alter에서 수정하면 정상적으로 쓸 수 있기는 하다) - 생각해보면 min.insync.replicas가 relicas보다 많더라도, kafka-client에서 acks를 all로 하지 않는 다면 의미 없는 설정이다. 그렇기 때문에 '만들어 ..
스프링에서 가장 쉽게 프로퍼티를 읽어오는 방법은 @Value를 이용하는 것이다. - @Value(value="${app.base.name}") 를 이용해서 application의 프로퍼티 하나를 읽어오거나 - @Value("#{systemProperties['os.name']}") 처럼 이용해서 시스템 값을 가져오거나 - @Value("${spring.profiles.active:default}") 를 이용해서 프로파일값을 가져 올 수 있지만, expression 을 이용하거나, 몇몇 한정된 경우에만 쓰이고 실제로는 @ConfigurationProperties를 더 많이 이용한다. (링크 : https://docs.spring.io/spring-boot/docs/current/api/org/springf..