0comments

kafka c# 예제

C #에 대한 많은 Kafka 클라이언트가 있습니다, 몇 가지 권장 옵션의 목록은 여기에서 찾을 수 있습니다. 이 예제에서는 Confluent의 카프카 도트넷 클라이언트를 사용합니다. 메시지는 생산자 개체를 사용하여 카프카에 생성됩니다. 이 예제에서는 생산자에 필요한 속성만 제공합니다. 구성 옵션의 전체 목록은 여기를 참조하십시오. 덧붙여, 사용할 수있는 많은 공급자가 있지만,이 게시물에서 우리는 카프카 그물을 사용합니다, 아파치 카프카에 대한 네이티브 C # 클라이언트. Visual Studio 내에서 NuGet 패키지 관리자를 통해 카프카 넷을 설치할 수 있습니다. 이 링크를 따라 카프카-넷 GitHub 리포지토리를 확인할 수 있습니다. 릴리스 분기에 대한 모든 커밋에 해당하는 Nuget 패키지는 다음 nuget 패키지 소스에서 사용할 수 있습니다 (참고 : 이것은 웹 URL이 아닙니다 – nuget 패키지 구유에 지정해야합니다): https://ci.appveyor.com/nuget/confluent-kafka-dotnet. 이러한 누겟 패키지의 버전 접미사는 appveyor 빌드 번호와 일치합니다.

당신은 특정 빌드 번호를 커밋이 AppVeyor 빌드 기록을 보고 라이브러리 또는 테스트 또는 예제 프로젝트를 빌드, 관련 프로젝트 디렉토리 내에서 다음을 실행 볼 수 있습니다: 당신은 생산 Async 메서드를 사용 해야 합니다. 진행하기 전에 생산 요청의 결과를 기다려야합니다. 일반적으로 웹 요청을 처리하는 컨텍스트와 같은 동시 시나리오에서 이 작업을 수행할 수 있습니다. 뒤에서 클라이언트는 Kafka 브로커와의 통신을 최적화하여 요청을 적절히 일괄 처리합니다. 안드레아스 하이더의 rdkafka-dotnet에서 파생된 콘플류 카프카 도트넷입니다. 우리는 그의 작품의 팬이고이 클라이언트의 기초로 rdkafka-dotnet을 활용할 수있게되어 매우 기뻤습니다. 감사합니다 안드레아스! 예제 디렉토리에서 예를 들어 사용해 보십시오. 통합 테스트도 좋은 예입니다. 콘소-카프카-도트넷은 NuGet을 통해 배포됩니다. 구성 속성에 대한 개요는 librdkafka 설명서를 참조하십시오.

참고: 생산자 선언을 using 블록으로 이동하여 완료되면 자동으로 닫힙입니다. 카프카의 기본 데이터 단위는 메시지입니다. Kafka의 메시지는 키-값 쌍으로 표시됩니다. Kafka는 모든 메시지를 바이트 배열로 변환합니다. Kafka의 생산자, 소비자 및 클러스터 간의 통신은 TCP 프로토콜을 사용한다는 점에 유의해야 합니다. Kafka 클러스터의 각 서버를 브로커라고 합니다. 클러스터에 브로커를 추가하여 Kafka를 수평으로 확장할 수 있습니다. 메시지를 사용하려면 메시지를 수신하기 전에 메시지를 수신하려는 주제를 구독해야 합니다.

, 2008 비행 데이터 및 공항 CSV 파일을 포함. . Kafka의 토픽은 메시지의 논리적 컬렉션을 나타냅니다. 생산자가 메시지를 게시할 수 있는 피드 또는 범주로 생각할 수 있습니다. 덧붙여, Kafka 브로커는 차례로 하나 이상의 파티션으로 분할되는 하나 이상의 주제를 포함하고 있습니다. 파티션은 정렬된 메시지 시퀀스로 정의됩니다. 파티션은 여러 브로커에 분산되어 있기 때문에 Kafka가 동적으로 확장할 수 있는 기능의 핵심입니다.

Comments are closed.