kafka

카프카, 데이터 플랫폼의 최강자 의 5장 카프카 컨슈머 요약

컨슈머의 주요 기능

  • 특정 파티션을 관리하고 있는 파티션 리더에게 메시지를 가져오도록 요청
    • 각 요청은 로그의 오프셋을 명시
    • 그 위치로 부터 로그 메시지를 수신
    • 이를 통해 가져올 메시지의 위치를 조정, 필요한 경우 이미 가져온 데이터도 다시 수신 가능
  • 버그를 수정한 후 가져왔던 메시지들을 다시 가져올 수 있음
    • 래빗 엠큐와 같은 일반적인 메시지큐 솔루션에서는 제공하지 않는 기능

Read More

카프카, 데이터 플랫폼의 최강자 의 4장 카프카 프로듀서 요약

카프카 프로듀서

  • 프로듀서의 주요 옵션
  • 프로듀서 활용 예제
  • 다양한 메시지 전송 방법

카프카 프로듀싱 - 자바

  • send() 로 메시지를 보내는 방식은 3가지
  1. 메시지를 보내고 확인하지 않기
  2. 동기 전송
  3. 비동기 전송

메시지를 보내고 확인하지 않기

  • 프로듀서에서 서버로 메시지를 보내고 난 후에 성공적으로 도착했는지 까지 확인하지 않음
  • 프로듀서가 자동으로 재전송하기 때문에 대부분의 경우 성공적으로 전송
    • 일부 메시지는 손실 될 수도 있음
  • 메시지는 버퍼에 저장되고 별도의 스레드를 통해 브로커로 전달
  • send() 는 자바 퓨처(Future) 객체로 RecordMetadata를 리턴 받음
    • 리턴값을 무시하기 때문에 메시지가 성공적으로 전송되었는지 알 수 없음
    • 메시지 손실 가능성이 있기 때문에 일반적인 서비스에서는 사용하지 않음
  • 브로커에게 메시지를 보낸 후의 에러는 무시하지만, 보내기 전에 에러가 발생하면 예외를 처리할 수 있음

Read More

카프카, 데이터 플랫폼의 최강자 의 3장 카프카 디자인 요약

카프카 디자인

  • 대용량 데이터 처리
    • ex 실시간 로그 집계
    • 어플리케이션의 처리량이 높아야
    • 배치 전송, 파티션, 분산 처리
  • 데이터의 안정적인 저장
    • 리플리케이션 기능
  • 분산된 서버에서 자동으로 파티션의 리더를 선출

카프카 디자인의 특징

  • 필요
    • 분산된 데이터 파이프 라인의 표준화/통합
    • 높은 처리량
  • 목적
    • 높은 처리량
    • 빠른 메시지 전송
    • 운영 효율화
  • 구현
    • 분산 시스템
    • 페이지 캐시
    • 배치 전송 처리

카프카 디자인 1 - 분산 시스템

  • 분산 시스템은 네트워크로 이루어진 컴퓨터들의 그룹
  • 시스템 전체가 공통의 목표를 공유
  • 같은 역할을 하는 여러 대의 서버로 이뤄진 서버 그룹
  • 장점
    • 단일 시스템보다 더 높은 성능을 얻을 수 있음
    • 분산 시스템 중 하나의 서버 또는 노드 등이 장애가 발생하면 다른 서버 또는 노드가 대신 처리
    • 시스템 확장이 용이

Read More

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×