Rumah  >  Artikel  >  hujung hadapan web  >  Cara membina aplikasi pemprosesan data masa nyata menggunakan React dan Apache Kafka

Cara membina aplikasi pemprosesan data masa nyata menggunakan React dan Apache Kafka

王林
王林asal
2023-09-27 14:25:021022semak imbas

如何利用React和Apache Kafka构建实时数据处理应用

Cara menggunakan React dan Apache Kafka untuk membina aplikasi pemprosesan data masa nyata

Pengenalan:
Dengan peningkatan data besar dan pemprosesan data masa nyata, membina aplikasi pemprosesan data masa nyata telah menjadi usaha ramai pemaju. Gabungan React, rangka kerja bahagian hadapan yang popular dan Apache Kafka, sistem pemesejan teragih berprestasi tinggi, boleh membantu kami membina aplikasi pemprosesan data masa nyata. Artikel ini akan memperkenalkan cara menggunakan React dan Apache Kafka untuk membina aplikasi pemprosesan data masa nyata dan memberikan contoh kod khusus.

1. Pengenalan kepada Rangka Kerja React
React ialah perpustakaan JavaScript sumber terbuka oleh Facebook, memfokuskan pada membina antara muka pengguna. React menggunakan kaedah pembangunan berasaskan komponen untuk membahagikan UI kepada struktur bebas dan boleh diguna semula, meningkatkan kebolehselenggaraan dan kebolehujian kod. Berdasarkan mekanisme DOM maya, React boleh mengemas kini dan memaparkan antara muka pengguna dengan cekap.

2. Pengenalan kepada Apache Kafka
Apache Kafka ialah sistem pemesejan berprestasi tinggi yang diedarkan. Kafka direka bentuk untuk mengendalikan aliran data berskala besar sesaat dengan daya pemprosesan yang tinggi, toleransi kesalahan dan kebolehskalaan. Konsep teras Kafka ialah model terbitkan-langganan, di mana pengeluar menerbitkan mesej kepada topik tertentu dan pengguna menerima mesej dengan melanggan topik ini.

3 Langkah untuk membina aplikasi pemprosesan data masa nyata menggunakan React dan Kafka

  1. Pasang React dan Kafka
    Mula-mula, kita perlu memasang persekitaran berjalan React dan Kafka pada mesin. React boleh dipasang menggunakan npm, manakala Kafka memerlukan memuat turun dan mengkonfigurasi pelayan Zookeeper dan Kafka.
  2. Buat Projek React
    Buat projek React baharu menggunakan alat perancah React create-react-app. Jalankan arahan berikut dalam baris arahan:

    npx create-react-app my-app
    cd my-app
  3. Pasang Perpustakaan Kafka
    Pasang perpustakaan berkaitan Kafka melalui npm untuk berkomunikasi dengan pelayan Kafka. Jalankan arahan berikut dalam baris arahan:

    npm install kafka-node
  4. Cipta Pengeluar Kafka
    Cipta fail kafkaProducer.js dalam projek React yang akan digunakan untuk mencipta pengeluar Kafka dan hantar data ke topik yang ditentukan. Berikut ialah contoh kod mudah:

    const kafka = require('kafka-node');
    
    const Producer = kafka.Producer;
    const client = new kafka.KafkaClient();
    const producer = new Producer(client);
    
    producer.on('ready', () => {
      console.log('Kafka Producer is ready');
    });
    
    producer.on('error', (err) => {
      console.error('Kafka Producer Error:', err);
    });
    
    const sendMessage = (topic, message) => {
      const payload = [
     { topic: topic, messages: message }
      ];
      producer.send(payload, (err, data) => {
     console.log('Kafka Producer sent:', data);
      });
    };
    
    module.exports = sendMessage;
  5. Cipta Pengguna Kafka
    Cipta fail kafkaConsumer.js dalam projek React anda yang mencipta pengguna Kafka dan menerima data daripada topik yang ditentukan. Berikut ialah contoh kod mudah:

    const kafka = require('kafka-node');
    
    const Consumer = kafka.Consumer;
    const client = new kafka.KafkaClient();
    const consumer = new Consumer(
      client,
      [{ topic: 'my-topic' }],
      { autoCommit: false }
    );
    
    consumer.on('message', (message) => {
      console.log('Kafka Consumer received:', message);
    });
    
    consumer.on('error', (err) => {
      console.error('Kafka Consumer Error:', err);
    });
    
    module.exports = consumer;
  6. Menggunakan Kafka dalam komponen React
    Menggunakan pengeluar dan pengguna Kafka di atas dalam komponen React. Pengeluar boleh dipanggil dalam kaedah kitaran hayat komponen untuk menghantar data ke pelayan Kafka, dan pengguna boleh digunakan untuk mendapatkan data sebelum memberikan kepada DOM. Berikut ialah contoh kod mudah:

    import React, { Component } from 'react';
    import sendMessage from './kafkaProducer';
    import consumer from './kafkaConsumer';
    
    class KafkaExample extends Component {
      componentDidMount() {
     // 发送数据到Kafka
     sendMessage('my-topic', 'Hello Kafka!');
    
     // 获取Kafka数据
     consumer.on('message', (message) => {
       console.log('Received Kafka message:', message);
     });
      }
    
      render() {
     return (
       <div>
         <h1>Kafka Example</h1>
       </div>
     );
      }
    }
    
    export default KafkaExample;

    Dalam kod di atas, kaedah componentDidMount akan dipanggil secara automatik selepas komponen diberikan kepada DOM Di sini kami menghantar mesej pertama dan mendapatkan data melalui pengguna.

  7. Jalankan aplikasi React
    Akhir sekali, mulakan aplikasi React secara setempat dengan menjalankan arahan berikut:

    npm start

4. Ringkasan
Artikel ini memperkenalkan cara membina aplikasi pemprosesan data masa nyata menggunakan React dan Apache Kafka. Pertama, kami memperkenalkan secara ringkas ciri dan fungsi React dan Kafka. Kami kemudiannya menyediakan langkah khusus untuk mencipta projek React dan mencipta pengeluar dan pengguna menggunakan perpustakaan berkaitan Kafka. Akhir sekali, kami menunjukkan cara menggunakan ciri ini dalam komponen React untuk mencapai pemprosesan data masa nyata. Melalui kod sampel ini, pembaca boleh lebih memahami dan mempraktikkan aplikasi gabungan React dan Kafka, serta membina aplikasi pemprosesan data masa nyata yang lebih berkuasa.

Bahan rujukan:

  • React dokumentasi rasmi: https://reactjs.org/
  • Dokumentasi rasmi Apache Kafka: https://kafka.apache.org/

Atas ialah kandungan terperinci Cara membina aplikasi pemprosesan data masa nyata menggunakan React dan Apache Kafka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn