반응형 consumer2 생산자(Producer) / 소비자(Consumer) 패턴 Java 를 사용하다보면 multi Thread 를 고려하게 되고,자연스레 트랜잭션이나 동시성 이슈를 고려하게 된다.(해당 내용에 대해서는 아래 참고 포스팅 참고 바람) 이번 포스팅에서는 자바에서 생산자/소비자 패턴(Producer/Consumer Pattern)에 대해 설명을 할 것이다. 소개 멀티스레딩 환경에서 자주 사용되는 디자인 패턴으로, 데이터를 생산하는 생산자 스레드와 소비하는 소비자 스레드 간의 작업을 효율적으로 분배하는 데 유용한 패턴이다. 이 패턴을 통해 작업을 동시에 처리하면서도 공유 자원의 동기화를 통해 데이터의 일관성을 유지할 수 있다. 개요생산자: 데이터를 생성하여 공유 자원(예: 큐)에 넣는다.소비자: 공유 자원에 있는 데이터를 꺼내서 처리힌다.목적: 생산과 소비를 분리하여 서.. 2024. 11. 12. [kafka] 컨슈머 그룹이란? 이전 포스팅에서 kafka에 대해서 다룬 글이 있다. kafka 에 대한 설명은 참고 포스팅을 먼저 참고 바란다. kafka를 사용하다보니 group 이라는 개념이 등장하였다. 기존에는 그냥 단순 push하고 consume에서는 받아오는게 전부였는데 group이라는게 생소해서 정리해보려고 한다. 컨슈머 그룹(Consumer Group) 카프라의 개별 컨슈머 인스턴스 들을 하나로 묶는 논리적 그룹 단위 이다. 사용하는 이유는 1. 장애 내성 -> 특정 컨슈머에 문제가 생길경우 동일 그룹의 다른 컨슈머가 계속해서 파티션에서 데이터를 읽을수 있다. 2. offset 관리 등이 있다. 아래 그림을 보면 이해가 갈것이다. 단일 그룹일 경우엔 이렇게 하나의 컨슈머에서 모든 작업을 이루어진다. 만약 여러개의 그룹이 .. 2024. 2. 11. 이전 1 다음 반응형