ETC

    [쓰면서 배우는 obsidian] 001. obsidian 설치해보기

    안녕하세요. 이번엔 obsidian에 대해 알아볼까 해요. 개인적인 노트 앱으로는 notion을 사용하고 있습니다. 물론 많은 분들이 알고 계신 노트앱이죠. 노션에 한계를 느껴서라기보다는, 최근 유튜브를 통해 obsidian에 대해서 보게 되었는데요.이전에도 알고 있었지만 진입장벽 때문에 시작을 못하고 있었는데요. 이번에 한번 obsidian을 통해서, 저만의 데이터베이스를 구축하고 좀 더 훌륭한(?) 사람이 되어보고자 합니다. 일단 개발적인 내용을 정리하면서 데이터베이스를 구축해 보도록 해요.  1. 설치 https://obsidian.md/download  Download - ObsidianObsidian is available on all major platforms. Download Obsidia..

    Kafka offset에 대해서

    모든 소스 코드는 https://github.com/lkimilhol/kotlin-kafka-toy에서 확인 가능합니다!안녕하세요. 이번에는 Kafka의 offset에 대해서 알아볼까 합니다.Kafka 메시지를 처리하는 도중 예외를 만난다면 어떻게 될지, 그리고 offset 관련 옵션 설정에 따라서 어떻게 변할지 공부해보려고 합니다.이는 실제 Kafka를 이용하여 실제 서비스를 할 때도 많은 도움이 될 것이라 생각합니다. 1. offset이란 무엇일까?offset이란 무엇일까요? 바로 consumer에서 메시지를 어디까지 읽었는지 저장하는 값 이라고 볼 수 있을거 같네요.만약 offset=4 인 경우 offset 0, 1, 2, 3은 메시지를 읽은 것으로 생각 할 수 있습니다. 위 그림과 같이 현재 of..

    Kafka 메시지 순서 보장 확인해보기

    모든 소스 코드는 https://github.com/lkimilhol/kotlin-kafka-toy 에서 확인 가능합니다. 오늘의 고민 내용은 카프카를 통하여 메시지를 순서대로 받을 수 있을까 입니다.사실 이는 가능한데요. 카프카의 파티션을 하나만 사용한다면 어렵지 않게 순서를 보장 할 수 있습니다.하지만 이는 카프카의 성능을 100% 발휘 할 순 없는 구조라고 생각됩니다.  천천히 고민해 보도록 하겠습니다.1. 성능을 어떻게 보장할까?카프카의 파티션과 컨슈머를 생각해보겠습니다.아래 사진은 파티션 3개가 컨슈머 3개와 1:1로 매핑되어 있는데요. 카프카의 프로듀서(producer)가 키를 지정하여 각 파티션으로 프로듀스 되었고, 컨슈머가 이 토픽을 컨슘하여 동작하는 방식입니다. 저 사진에서 파티션이 1개..