전체 글84 카프카 프로듀서 Client(Java/Spring) 카프카 프로듀서 Client메시지가 브로커로 전달되는 과정 (출처 : https://www.linkedin.com/pulse/kafka-producer-overview-sylvester-daniel)카프카 프로듀서는 내부적으로 직렬화, 파티셔닝, 배치 생성, 압축의 단계를 거쳐 브로커로 데이터를 전송하게 된다.Serializer카프카 프로듀서는 Serializer를 통해 데이터를 Byte Array 형태로 직렬화하여 전송하고, 파티션에서도 Byte Array 형태로 저장하게 된다.카프카 컨슈머에서는 Byte Array로 직렬화 된 데이터를 받아서 DeSerialization 과정을 거쳐 원본 객체로 변환한다.Partitioner카프카 파티셔너는 ProducerRecord(카프카 이벤트 객체)를 토픽의 어.. 2025. 6. 3. 몽고DB 구성(Replica Set/Sharded Cluster) 간단히 알아보기 MongoDB ArchitectureReplica SetReplica set은 HA 솔루션이다. Sharding 은 스케일 아웃을 위한 솔루션이다.데이터를 들고 있는 멤버의 상태는 Primary와 Secondary가 있다.데이터가 모두 동일하게 저장되어 한 대가 죽어도 데이터가 유지될 수 있다.장애 발생 시 투표를 위해 과반수가 살아있어야 하므로 홀수 개로 구성해야 한다.Replica Set 구성 시 최소 3대로 구성한다.Failover 시에 자동으로 투표를 통해 Secondary 중 하나가 Primary가 된다.서로 heartbeat을 주고 받으며 상태를 체크한다.동일한 크기의 데이터를 저장할 때, RDB와 비교하여 장비 수가 매우 많이 필요하고 메모리도 더 많이 필요하다는 단점이 존재한다.하나의 Re.. 2025. 5. 31. [MongoDB]몽고디비 개요 MongoDB유연하고 확장성 높은 OpenSource Document 지향 Database 이다.주요 특징Schema 가 자유롭다.HA와 Scale-Out Solution을 자체적으로 지원해서 확장이 쉽다.Secondary Index를 지원하는 NoSQL이다.다양한 종류의 Index를 제공한다.응답 속도가 빠르다.배우기 쉽고 간편하게 개발이 가능하다.SQL vs. NoSQL이미지 출처:https://meetup.nhncloud.com/posts/274관계형 데이터베이스장점정규화를 통해 데이터의 중복을 방지할 수 있다.Join의 성능이 좋다.복잡하고 다양한 쿼리가 가능하다.잘못된 입력을 방지할 수 있다.단점하나의 레코드를 확인하기 위해 여러 테이블을 Join 하여 가시성 혹은 성능이 떨어질 수 있다.스키마.. 2025. 5. 28. [Redis]Sentinel 구성 실습(Docker 활용) Redis Sentinel 구성 실습실습을 진행하면서 여러 오류를 겪었다.컴퓨터 성능 문제도 있는 것 같고... 제대로 원인과 해결법을 파악 못한 문제들도 존재한다.도커 환경으로 간단히 해보려고 했는데... 오히려 간단하지 않았다.실제 환경에서는 분리된 서버에 레디스와 센티넬을 구성할 것이므로 해당 실습과 궤를 달리하는 부분이 많을 것 같다.마스터 장애시 failover 확인디버그 레벨 로그까지 들어가 있다. 으로 시작하는 게 디버그 레벨 로그1:X 26 May 2025 08:46:17.291 # +sdown master sentineltest 192.29.1.2 63791:X 26 May 2025 08:46:17.344 # +odown master sentineltest 192.29.1.2 6379 #.. 2025. 5. 26. 이전 1 2 3 4 5 6 ··· 21 다음