Infra/Kafka

Infra/Kafka

Event-Driven Architecture란? Kafka vs RabbitMQ 차이점 정리

Event-Driven Architecture란이벤트 기반 아키텍처는 분산된 애플리케이션 서비스들이 이벤트를 기반으로 통신하는 패턴을 의미합니다. 주로 MSA 환경에서 각 서비스들의 결합도를 느슨하게 하기 위해 사용합니다.(ex: CQRS에서 각 서비스 책임(비즈니스, 조회 로직)을 분리하는 데 사용할 수 있음) Event란애플리케이션에서 발생한 모든 사건을 의미합니다.해당 이벤트(사건)의 기록은 변경되지 않습니다. MSA and Event-Driven-Architecture마이크로 서비스 아키텍처는 하나의 애플리케이션을 여러 서비스로 나누어 운영하는 설계 방법입니다. 서비스가 분산된 아키텍처에서는 서비스들 간의 협업을 위해 IPC(Inter Process Communication)을 통해 통신합니다. ..

Infra/Kafka

Kafka Producer 안정성 & 성능 향상법: Acks 설정, 메시지 압축, Partition Key 여부 전략

Kafka ProducerProducer Acknowledgements (Acks)producer can choose to receive acknowledgment of data writes acks = 0 : producer won’t wait for acknowledgment (possible data loss)producers consider messages as “written successfully” the moment the message was sent without waiting for the broker to accept it at allif the broker goes offline or an exception happens, we won’t know and will lose dataU..

Infra/Kafka

Kafka Consumer멱등 처리와 Offset 커밋 전략: 대량 데이터 처리 이해하기

Kafka ConsumerAUTO_OFFSET_RESET_CONFIGConsumer가 어디서(offset)부터 읽을지 지정합니다.설정 값으로, latest, earliest, none이 있습니다. Delivery SemanticsKafka Consumer 메시지 전달 방법으로 'at-most-once'와 'at-least-once'가 있습니다. 아래 사진은 'at-most-once' 방식으로 메시지를 처리하고 있습니다.메시지를 최대 1번만 읽고, 커밋 처리합니다. consumer의 장애로 메시지를 정상 처리 못 했을 때 데이터 손실이 발생할 수 있습니다.At most onceoffsets are committed at soon as the message batch is received.If the pro..

Infra/Kafka

Kafka 입문: 클러스터, 토픽, 파티션, 프로듀서, 컨슈머 핵심 이해하기

No Messaing 시스템 : 복잡한 데이터 전송예시로, 4개의 Source System과 4개의 Target System이 있는 경우 최대 16개 통합 코드를 작성해야 할 수도 있다.각 데이터 통신과 형식이 다르다면, 더 복잡해지는 문제가 발생할 수 있습니다. Kafka 사용하는 이유Kafka를 통한 Decoupling이를 카프카를 통해 강하게 결합되어 있는 문제를 개선시킬 수 있습니다.Source System이 Producer로써 데이터를 생산하여 카프카에게 전달합니다.이를 카프카는 데이터를 관리하고 있다가 Target System에 전달하여 타켓 시스템은 Consumer로써 데이터를 처리합니다.Why Kafka분산형 + 회복력이 있는 아키텍처 구조이다.고장에 대한 내성이 있다. (fault tol..

kylo
'Infra/Kafka' 카테고리의 글 목록