Azure'da bir gerçek zamanlı ileti alımı teknoloji seçmeChoosing a real-time message ingestion technology in Azure

Gerçek zamanlı işleme, gerçek zamanlı ve işlenen en düşük gecikme süresiyle yakalanır veri akışları ile ilgilidir.Real time processing deals with streams of data that are captured in real-time and processed with minimal latency. Gerçek zamanlı işleme birçok çözüm ileti alım deposunun iletiler için bir arabellek olarak görev yapacak ve ölçeği genişletme işlemini, güvenilir teslimi ve diğer iletiyi kuyruğa alma semantiğini desteklemek için gerekir.Many real-time processing solutions need a message ingestion store to act as a buffer for messages, and to support scale-out processing, reliable delivery, and other message queuing semantics.

Gerçek zamanlı ileti alımı seçenekleri nelerdir?What are your options for real-time message ingestion?

Azure Event HubsAzure Event Hubs

Azure Event Hubs platformu ve olay akışı alma hizmetidir, işleme saniye başına milyonlarca olayı işleyebilen ileri düzeyde ölçeklenebilir bir veri.Azure Event Hubs is a highly scalable data streaming platform and event ingestion service, capable of receiving and processing millions of events per second. Event Hubs dağıtılan yazılımlar ve cihazlar tarafından oluşturulan olayları, verileri ve telemetrileri işleyebilir ve depolayabilir.Event Hubs can process and store events, data, or telemetry produced by distributed software and devices. Bir olay hub’ına gönderilen veriler, herhangi bir gerçek zamanlı analiz sağlayıcısı ve işlem grubu oluşturma/depolama bağdaştırıcıları kullanılarak dönüştürülüp depolanabilir.Data sent to an event hub can be transformed and stored using any real-time analytics provider or batching/storage adapters. Event Hubs, yayımlama-abonelik özellikleri ile büyük veri senaryoları için uygun hale getiren çok büyük ölçekte düşük gecikme süresi sağlar.Event Hubs provides publish-subscribe capabilities with low latency at massive scale, which makes it appropriate for big data scenarios.

Azure IoT HubAzure IoT Hub

Azure IOT hub'ı milyonlarca IOT cihazı ile bir bulut tabanlı bir arka ucu arasında güvenilir ve güvenli çift yönlü iletişimler sağlayan bir yönetilen hizmettir.Azure IoT Hub is a managed service that enables reliable and secure bidirectional communications between millions of IoT devices and a cloud-based back end.

IOT Hub'ının özellikler şunları içerir:Feature of IoT Hub include:

  • CİHAZDAN buluta ve bulut-cihaz iletişimi için birden çok seçenek.Multiple options for device-to-cloud and cloud-to-device communication. Bu seçenekler tek yönlü mesajlaşmayı, dosya aktarımını ve istek-yanıt yöntemlerini içerir.These options include one-way messaging, file transfer, and request-reply methods.
  • Diğer Azure hizmetlerine yönlendirme iletisi.Message routing to other Azure services.
  • Cihaz meta verileri ve eşitlenmiş durum bilgileri için sorgulanabilir depolama sağlar.Queryable store for device metadata and synchronized state information.
  • Cihaz başına güvenlik anahtarları veya X.509 sertifikaları kullanarak güvenli iletişim ve erişim denetimi.Secure communications and access control using per-device security keys or X.509 certificates.
  • Cihaz bağlantısı ve cihaz kimlik yönetimi etkinlikleri izleme.Monitoring of device connectivity and device identity management events.

İleti alımı açısından, IOT Hub Event Hubs'a benzerdir.In terms of message ingestion, IoT Hub is similar to Event Hubs. Ancak, IOT cihaz bağlantısı, yalnızca ileti alımı yönetmek için özel olarak tasarlanmıştır.However, it was specifically designed for managing IoT device connectivity, not just message ingestion. Daha fazla bilgi için karşılaştırma Azure IOT Hub ve Azure Event Hubs.For more information, see Comparison of Azure IoT Hub and Azure Event Hubs.

HDInsight üzerinde KafkaKafka on HDInsight

Apache Kafka gerçek zamanlı veri işlem hatları ve akış uygulamaları oluşturmak için kullanılan bir açık kaynak dağıtılmış akış platformudur.Apache Kafka is an open-source distributed streaming platform that can be used to build real-time data pipelines and streaming applications. Kafka ayrıca, adlandırılmış veri akışları yayımlayıp abone olabileceğiniz bir ileti kuyruğuna benzer aracı işlevselliği sağlar.Kafka also provides message broker functionality similar to a message queue, where you can publish and subscribe to named data streams. Bu yatay olarak ölçeklenebilen, dayanıklı ve son derece hızlı olur.It is horizontally scalable, fault-tolerant, and extremely fast. HDInsight üzerinde Kafka Kafka azure'da yönetilen, yüksek düzeyde ölçeklenebilir ve yüksek oranda kullanılabilir bir hizmet olarak sağlar.Kafka on HDInsight provides a Kafka as a managed, highly scalable, and highly available service in Azure.

Kafka için bazı ortak kullanım örnekleri şunlardır:Some common use cases for Kafka are:

  • Mesajlaşma.Messaging. Desteklediğinden, Yayımla-abone ol ileti modelini, Kafka genellikle ileti aracısı olarak kullanılır.Because it supports the publish-subscribe message pattern, Kafka is often used as a message broker.
  • Etkinlik izleme.Activity tracking. Kafka, kayıtların sıralı günlük sağladığından, etkinlikleri, bir web sitesi üzerinde kullanıcı eylemlerini gibi yeniden oluşturun ve izlemek için kullanılabilir.Because Kafka provides in-order logging of records, it can be used to track and re-create activities, such as user actions on a web site.
  • Toplama.Aggregation. Akış işleme kullanarak, birleştirmek ve işletimsel verileri bilgisini merkezileştirmek için farklı akışlarından bilgi toplayabilirsiniz.Using stream processing, you can aggregate information from different streams to combine and centralize the information into operational data.
  • Dönüştürme.Transformation. Akış işlemeyi kullanarak, birleştirmek ve verileri birden fazla girdi konu birine zenginleştirmek veya daha fazla çıktı konu.Using stream processing, you can combine and enrich data from multiple input topics into one or more output topics.

Temel seçim ölçütlerineKey selection criteria

Seçimleri daraltmak için bu soruyu yanıtlayarak başlatın:To narrow the choices, start by answering these questions:

  • IOT cihazları ile Azure arasında iki yönlü iletişim gerekiyor mu?Do you need two-way communication between your IoT devices and Azure? Bu durumda, IOT Hub'ı seçin.If so, choose IoT Hub.

  • Tek tek cihazlar için erişimi yönetmek ve belirli bir cihaza erişimi iptal edebilirsiniz gerekiyor mu?Do you need to manage access for individual devices and be able to revoke access to a specific device? Yanıt Evet ise, IOT Hub'ı seçin.If yes, choose IoT Hub.

Özellik MatrisiCapability matrix

Aşağıdaki tablolarda, Özellikler'deki temel farklılıklar özetlenmektedir.The following tables summarize the key differences in capabilities.

ÖzellikCapability IoT HubIoT Hub Event HubsEvent Hubs HDInsight üzerinde KafkaKafka on HDInsight
Bulut-cihaz iletişimiCloud-to-device communications EvetYes HayırNo HayırNo
Cihaz tarafından başlatılan bir dosyayı karşıya yüklemeDevice-initiated file upload EvetYes HayırNo HayırNo
Cihaz durumu bilgileriniDevice state information Cihaz ikizleriniDevice twins HayırNo HayırNo
Protokol desteğiProtocol support MQTT, AMQP, HTTPS 1MQTT, AMQP, HTTPS 1 AMQP, HTTPSAMQP, HTTPS Kafka ProtokolüKafka Protocol
GüvenlikSecurity Cihaz başına kimlik; edilebilir erişim denetimi.Per-device identity; revocable access control. Paylaşılan erişim ilkeleri; Yayımcı ilkeleri aracılığıyla sınırlı iptali.Shared access policies; limited revocation through publisher policies. SASL kullanarak kimlik doğrulaması; takılabilir yetkilendirme; desteklenen Dış kimlik doğrulama hizmetleri ile tümleştirme.Authentication using SASL; pluggable authorization; integration with external authentication services supported.

[1] kullanabilirsiniz Azure IOT protokolü ağ geçidini Protokolü uyarlama için IOT hub'ı etkinleştirmek için özel bir ağ geçidi olarak.[1] You can also use Azure IoT protocol gateway as a custom gateway to enable protocol adaptation for IoT Hub.

Daha fazla bilgi için karşılaştırma Azure IOT Hub ve Azure Event Hubs.For more information, see Comparison of Azure IoT Hub and Azure Event Hubs.