Apache Kafka 데이터 수집이란 무엇인가요?
Apache Kafka - 소개
Apache Kafka는 LinkedIn에서 시작되었으며 나중에 2011년에 오픈 소스 Apache 프로젝트가 되었고 이후 2012 Apache의 일류 프로젝트가 되었습니다. Kafka는 Scala와 Java로 작성되었습니다. Apache Kafka는 게시 및 구독을 기반으로 하는 내결함성 메시징 시스템입니다. 설계상 빠르고 확장 가능하며 분산됩니다.
이 튜토리얼에서는 Kafka의 원리, 설치, 작동을 살펴본 다음 Kafka 클러스터 배포를 소개합니다. 마지막으로 실시간 애플리케이션과 빅데이터 기술과의 통합으로 마무리하겠습니다.
이 튜토리얼을 진행하기 전에 Java, Scala, 분산 메시징 시스템 및 Linux 환경에 대한 충분한 이해가 있어야 합니다.
빅데이터에서는 많은 양의 데이터가 사용됩니다. 데이터와 관련하여 우리에게는 두 가지 주요 과제가 있습니다. 첫 번째 과제는 대량의 데이터를 어떻게 수집하는가이고, 두 번째 과제는 수집된 데이터를 분석하는 것입니다. 이러한 문제를 극복하려면 메시징 시스템이 필요합니다.
Kafka는 분산 처리량이 높은 시스템을 위해 설계되었습니다. Kafka는 기존 메일 브로커의 대안으로 잘 작동하는 경향이 있습니다. 다른 메시징 시스템과 비교하여 Kafka는 더 나은 처리량, 기본 제공 분할, 복제 및 고유한 내결함성을 갖추고 있어 대규모 메시지 처리 애플리케이션에 이상적입니다.
이메일 시스템이란 무엇인가요?
메시징 시스템은 한 애플리케이션에서 다른 애플리케이션으로 데이터 전송을 처리하므로 애플리케이션은 데이터에 집중할 수 있지만 공유 방법에 대해 걱정할 필요가 없습니다. 분산 메시징은 안정적인 메시지 대기열 개념을 기반으로 합니다. 메시지는 클라이언트 애플리케이션과 메시징 시스템 간에 비동기적으로 대기열에 추가됩니다. 두 가지 유형의 메시징 패턴을 사용할 수 있습니다. 하나는 지점 간 메시징이고 다른 하나는 게시-구독(pub-sub) 메시징 시스템입니다. 대부분의 메시징 패턴은 pub-sub를 따릅니다.
PEER-TO-PEER 메시지 시스템
P2P 시스템에서는 메시지가 대기열에 남아 있습니다. 한 명 이상의 소비자가 대기열의 메시지를 사용할 수 있지만 특정 메시지는 최대 한 명의 소비자만 사용할 수 있습니다. 소비자가 대기열에서 메시지를 읽으면 해당 메시지는 대기열에서 사라집니다. 이 시스템의 일반적인 예는 주문 처리 시스템으로, 각 주문은 하나의 주문 처리자에 의해 처리되지만 여러 주문 처리자가 동시에 작업할 수도 있습니다. 아래 다이어그램은 구조를 보여줍니다.
게시-구독 메시징 시스템
게시-구독 시스템에서 메시지는 주제에 유지됩니다. P2P 시스템과 달리 소비자는 하나 이상의 주제를 구독하고 해당 주제의 모든 메시지를 사용할 수 있습니다. 게시-구독 시스템에서는 메시지 생성자를 게시자라고 하고 메시지 소비자를 구독자라고 합니다. 실제 예는 스포츠, 영화, 음악 등과 같은 다양한 채널을 게시하는 Dish TV입니다. 누구나 자신의 채널을 구독하고 구독 채널을 얻을 수 있습니다.
카프카란 무엇인가요?
Apache Kafka는 대량의 데이터를 처리하고 한 끝점에서 다른 끝점으로 메시지를 전달할 수 있는 분산 게시-구독 메시징 시스템이자 강력한 대기열입니다. Kafka는 오프라인 및 온라인 메시지 소비에 적합합니다. Kafka 메시지는 디스크에 유지되고 클러스터 내에서 복제되어 데이터 손실을 방지합니다. Kafka는 ZooKeeper 동기화 서비스를 기반으로 구축되었습니다. Apache Storm 및 Spark와 완벽하게 통합되어 실시간으로 데이터 분석을 스트리밍합니다.
장점 Kafka의 몇 가지 장점은 다음과 같습니다. -
안정성 - Kafka는 분산, 분할, 복제 및 내결함성을 갖추고 있습니다.
확장성 - Kafka 메시징 시스템은 가동 중지 시간 없이 쉽게 확장됩니다.
Durability - Kafka는 분산 커밋 로그를 사용합니다. 즉, 메시지가 최대한 빨리 디스크에 남아 있어 내구성이 뛰어납니다.
Performance - Kafka는 메시지 게시 및 구독 모두에 대해 높은 처리량을 제공합니다. 수 테라바이트의 메시지를 저장하더라도 안정적인 성능을 유지합니다.
Kafka는 매우 빠르며 가동 중지 시간과 데이터 손실이 전혀 발생하지 않습니다. Kafka는 다양한 사용 사례에 사용될 수 있습니다. 그 중 일부는 아래에 나열되어 있습니다. -
측정항목 - Kafka는 모니터링 데이터를 실행하는 데 자주 사용됩니다. 여기에는 운영 데이터의 중앙 집중식 피드를 생성하기 위해 분산 애플리케이션의 통계를 집계하는 작업이 포함됩니다. 로그 집계 솔루션 - Kafka는 조직 전체에서 여러 서비스의 로그를 수집하고 이를 표준 형식으로 여러 서버에 제공하는 데 사용할 수 있습니다.
Stream 처리 - 널리 사용되는 프레임워크(예: Storm 및 Spark
Streaming)는 주제에서 데이터를 읽고 처리하고 사용자와 애플리케이션에서 사용할 수 있는 처리된 데이터를 작성합니다. 프로그램의 주제. Kafka의 강력한 내구성은 스트림 처리에도 매우 유용합니다.
카프카 필요Kafka는 모든 실시간 데이터 소스를 처리하기 위한 통합 플랫폼입니다. Kafka는 지연 시간이 짧은 메시징을 지원하고 시스템 오류가 있을 때 내결함성을 보장합니다. 다양한 소비자를 처리할 수 있는 능력이 있습니다. Kafka는 매우 빠르며 초당 2백만 회의 쓰기를 수행합니다. Kafka는 모든 데이터를 디스크에 유지합니다. 이는 기본적으로 모든 쓰기가 운영 체제(RAM) 페이지 캐시로 이동함을 의미합니다. 이는 페이지 캐시에서 웹 소켓으로 데이터를 매우 효율적으로 전송합니다.
아파치 관련 더 많은 지식을 알고 싶다면 아파치 사용법 튜토리얼 칼럼을 방문해 보세요!
위 내용은 Apache Kafka 데이터 수집이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!