전체 글
카프카 기본 개념과 구조
개요이번 글에서는 카프카의 기본 개념과 구조에 대해 포스팅할 계획입니다.카프카의 처리량을 높이기 위해 설계된 분산 시스템, 페이지 캐시, 배치 전송 등에 대해서 살펴보겠습니다.카프카의 기초 용어와 개념용어 정리주키퍼(Zookeeper): 아파치 프로젝트 애플리케이션을 호칭하는 용어. 카프카의 메타데이터 관리 및 브로커의 헬스케어를 담당합니다.카프카(Kafka): 아파치 프로젝트 애플리케이션 이름을 의미합니다.카프카 클러스터(Kafka Cluster): 카프카가 설치된 여러 대의 브로커를 구성하면 카프카 클러스터라고 호칭합니다.브로커(Broker): 카프카 애플리케이션이 설치된 서버 또는 노드를 의미합니다.프로듀서(Producer): 카프카로 메시지를 보내는 역할을하는 클라이언트를 의미합니다.컨슈머(Con..
카프카의 특징과 장점
카프카의 특징높은 처리량http 기반으로 이벤트를 ㄹ전달하지만 응답시간은 한 자리수 밀리초로 처리할 만큼 빠르다.순서 보장이벤트 처리 순서가 보장되므로 엔터티 간의 유효성 검사나 동시 수정 같은 무수한 복잡성들이 제거되어 구조가 간결하다.적어도 한 번 전송 방식카프카는 멱등성을 유지한다.이로인해 프토듀서가 같은 데이터를 재손하도 데이터의 변화가 일어나지 않다.전송방식중에 ‘적어도 한 번’이라는 방식이 존재한다. 따라서 이벤트가 중복 발생할 수 있으나 누락 없는 전송이 가능하다.강력한 파티셔닝논리적으로 토픽을 여러 개로 나눌 수 있다.다른 파티션들과의 의존성 없이 처리가 가능하므로 수평적인 확장이 가능하다.자연스러운 백 프레셔 핸들링카프카는 Pull 방식으로 동작한다. Pull 방식의 장점은 자기 자신의 ..
CHAPTER 13.실전 디자인 패턴
이번 글에서는해당 챕터에서는 실제 디자인 패턴을 적용하는 방법에 대해서 학습합니다.패턴 카탈로그에 대해 학습한뒤 가장 훌륭한 패턴 카탈로그 저서인 GoF 디자인 패턴의 서술 방식을 살펴봅니다.디자인 패턴에서 사용되는 전문 용어를 살펴봅니다.디자인 패턴을 분류하는 방법들에 대해서 학습합니다.안티 패턴에 대해서 알아봅니다.패턴 카탈로그(GoF 템플릿) 살펴보기패턴 카탈로그는 아래와 같이 이루어져 있습니다.title(제목)Intent(용도)Motivation(동기)Applicablity(적용 대상)Strcture(구조)Participants(구성 요소)Collaboartions(협동)Consequences(결과)Implementation/SampleCode(구현 및 샘플 코드)Know Uses(사용 예)Rel..