Apache Kafka : 차세대 분산 메시징 시스템



Apache Kafka는 높은 처리량과 확장 가능한 메시징 시스템을 제공하여 실시간 분석에서 널리 사용됩니다. Apache kafka 튜토리얼이 어떻게 도움이되는지 알아보십시오.

system.exit (0)

오늘날 세계에서 데이터가 주성분 일반적으로 다음을 포함합니다.





  • 페이지 방문 및 클릭
  • 사용자 활동
  • 로그인에 대응하는 이벤트
  • 좋아요, 공유 및 댓글과 같은 소셜 네트워킹 활동
  • 애플리케이션 별 측정 항목 (예 : 로그, 페이지로드 시간, 성능 등)

데이터를 사용하여 실시간으로 분석을 실행할 수 있습니다. 다음과 같은 다양한 목적을 제공합니다.

  • 광고 전달
  • 비정상적인 사용자 행동 추적
  • 관련성을 기반으로 검색 표시
  • 이전 활동을 기반으로 한 추천 표시

문제: 데이터는 다양한 소스에서 다른 형식으로 생성되므로 모든 데이터를 수집하는 것은 쉽지 않습니다.



해결책: 이 문제를 해결하는 방법 중 하나는 메시징 시스템을 사용하는 것입니다. 메시징 시스템은 메시지를 사용하여 분산 된 응용 프로그램 간의 원활한 통합을 제공합니다.

apache-kafka-next-generation-distributed-messaging-system

Apache Kafka :



Apache Kafka는 원래 LinkedIn에서 개발되었으며 나중에 Apache 프로젝트의 일부가 된 분산 게시 구독 메시징 시스템입니다. Kafka는 빠르고 민첩하며 확장 가능하며 설계에 따라 배포됩니다.

Kafka 아키텍처 및 용어 :

주제 : 특정 카테고리에 속하는 메시지 스트림을 주제라고합니다.

프로듀서 : 생산자는 주제에 메시지를 게시 할 수있는 모든 애플리케이션이 될 수 있습니다.

소비자 : 소비자는 주제를 구독하고 메시지를 소비하는 모든 애플리케이션이 될 수 있습니다.

브로커 : Kafka 클러스터는 각각 브로커라고하는 서버 집합입니다.

Kafka는 확장 가능하며 여러 유형의 클러스터를 생성 할 수 있습니다.

  • 단일 노드 단일 브로커 클러스터
  • 단일 노드 다중 브로커 클러스터
  • 다중 노드 다중 브로커 클러스터

단일 노드 단일 브로커

ZooKeeper의 역할은 무엇입니까?

자바 스크립트의 배열 크기

각 Kafka 브로커는 ZooKeeper를 사용하여 다른 Kafka 브로커와 조정합니다. 생산자와 소비자는 ZooKeeper 서비스에서 새로운 브로커의 존재 또는 Kafka 시스템의 브로커 실패에 대해 알림을받습니다.

단일 노드 다중 브로커

다중 노드 다중 브로커

Kafka @ LinkedIn

LinkedIn Newsfeed는 Kafka에서 제공합니다.

LinkedIn 추천은 Kafka에서 제공합니다.

LinkedIn 알림은 Kafka에서 제공합니다.

노트 : 이 외에도 LinkedIn은 로그 모니터링, 성능 메트릭, 검색 개선 등과 같은 다른 많은 작업에 Kafka를 사용합니다.

누가 Kafka를 사용합니까?

DataSift : DataSift는 Kafka를 모니터링 이벤트 수집기로 사용하고 사용자의 데이터 스트림 소비량을 실시간으로 추적합니다.

우가 : Wooga는 Kafka를 사용하여 중앙 위치에서 모든 Facebook 게임 (다양한 제공 업체에서 호스팅)의 추적 데이터를 집계하고 처리합니다.

스펀지 셀 : Spongecell은 Kafka를 사용하여 실시간 및 ETL 애플리케이션을 모두 구동하는 전체 분석 및 모니터링 파이프 라인을 실행합니다.

Loggly : Loggly는 세계에서 가장 인기있는 클라우드 기반 로그 관리입니다. 로그 수집을 위해 Kafka를 사용합니다.

비교 연구 : Kafka 대 ActiveMQ 대 RabbitMQ

Kafka는 더 효율적인 저장 형식을 가지고 있으며, 평균적으로 각 메시지는 Kafka에서 9 바이트의 오버 헤드가 있고 ActiveMQ에서는 144 바이트입니다.

ActiveMQ와 RabbitMQ에서 브로커는 디스크에 기록하여 모든 메시지의 전달 상태를 유지하지만 Kafka의 경우 디스크 쓰기가 없으므로 속도가 빨라집니다.

SQL의 함수는 무엇입니까

프로덕션에서 Kafka가 광범위하게 채택됨에 따라 실제 문제를 해결하기위한 유망한 솔루션으로 보입니다. Apache Kafka 교육은 실시간 분석 경력에서 동료보다 앞서 나가는 데 도움이 될 수 있습니다. Apache Kafka 튜토리얼 시작하기 여기 .

질문이 있으십니까? 의견란에 언급 해 주시면 연락 드리겠습니다.

관련 게시물:

실시간 분석 경력을 위해 필요한 것