DEV BLOG
java, spring, http, kafka ...
-
Debezium
Debezium CDC란? Changed Data Capture의 약자이다. 변경된 내용을 골라내는 기술이다. DBMS들은 CUD 작업전에 작업 내용을 Logging한다 (write-ahead-logging). CDC는 Source DB의 로그을 읽어 변경된 내용을 Target DB에 적용한다. OGG(Oracle Golden Gate), Debezium 등이 대표적이다. CDC는 주로 Incremental Indexing에 사용된다. Debezium이란? Debezium은 카프카 커넥터의 Source 커넥터의 집합이다. CDC를 사용하여 데이터베이스의 변경 사항을...
-
Dead Letter Queue in Kafka
Dead Letter Queue in Kafka Dead Letter Queue 메시지를 어떠한 이유로 처리할 수 없는 경우엔 Dead Letter Queue(토픽)로 보낸다. 아래와 같은 이유로 메시지 처리가 실패할 수 있다 메시지를 deserialize할 수 없는 경우 데이터가 예상과 다른 경우 (예를 들어 값이 항상 양수인 필드에 음수가 들어간 경우) Kafka Connect Kafka Connect에서는 처리할...
-
Spring Boot Micrometer와 Kafka Metric 수집
Spring Boot Actuator Metrics Spring Boot Actuator를 추가하면 Micrometer 관련된 디펜던시를 추가하고, 자동설정(auto-configuration)을 해준다. 스프링부트는 CompositeMeterRegistry를 자동설정하고 클래스패스에서 찾은 MeterRegistry를 CompositeMeterRegistry에 등록한다. 새로운 MeterRegistry을 등록하려면 micrometer-registry-{system} 디펜던시를 런타임으로 추가해주면 된다. 또한 스프링부트는 자동설정한 MeterRegistry를 Metrics 클래스의 글로벌 스태틱 변수에 등록한다. 아래와 같이 MeterRegistry를 주입받고 Meter를 생성해서 사용하면 된다. @Component public...
-
하둡 완벽 가이드 - Chapter3 하둡 분산 파일시스템
Chapter3 - 하둡 분산 파일시스템 이 글은 “하둡 완벽 가이드” 책 내용을 정리한 글입니다. 저작권에 문제가 있는 경우 “gunjuko92@gmail.com”으로 연락주시면 감사하겠습니다. 하둡 분산 파일시스템 데이터가 단일 물리 머신의 저장 용량을 초과하게 되면 전체 데이터셋을 분리된 여러 머신에 나눠서 저장할 필요가 있음 네트워크로 연결된 여러 머신의 스토리지를 관리하는 파일 시스템을 분산...
-
Graphql - Best practice for schema design
이 글은 graphql best practice for design 내용을 정리한 글입니다. 저작권에 문제가 있는 경우 “gunjuko92@gmail.com”으로 연락주시면 감사하겠습니다. Graphql best practice for Graphql Schema design 출처 https://graphqlmastery.com/blog/graphql-best-practices-for-graphql-schema-design 1. mutation에서는 input 오브젝트 타입을 사용해라 mutation에서는 하나의 변수만 사용하는게 좋다. type Planet implements Node { id: ID! createdAt: DateTime! updatedAt: DateTime name: String...