Rumah  >  Artikel  >  Java  >  Baris gilir mesej dalam seni bina perkhidmatan mikro Java

Baris gilir mesej dalam seni bina perkhidmatan mikro Java

WBOY
WBOYasal
2024-06-01 16:34:00365semak imbas

Dalam seni bina perkhidmatan mikro Java, baris gilir mesej membenarkan komunikasi antara perkhidmatan tak segerak, dengan itu meningkatkan kebolehskalaan, toleransi kesalahan dan prestasi. Aliran Awan Musim Bunga berfungsi sebagai lapisan abstraksi baris gilir mesej dan menyokong hujung belakang seperti Kafka dan RabbitMQ. Artikel ini menunjukkan aplikasi baris gilir mesej melalui pembuatan pesanan dan perkhidmatan pemprosesan. Membuat pesanan akan menerbitkan mesej, dan perkhidmatan pemprosesan pesanan akan menggunakan dan memproses mesej, dengan itu menyahgandingkan interaksi perkhidmatan.

Baris gilir mesej dalam seni bina perkhidmatan mikro Java

Baris Gilir Mesej dalam Seni Bina Microservice Java

Pengenalan

Baris gilir mesej memainkan peranan penting dalam seni bina perkhidmatan mikro, yang membolehkan komunikasi tak segerak antara perkhidmatan. Dengan memisahkan interaksi antara perkhidmatan, baris gilir mesej boleh meningkatkan kebolehskalaan, toleransi kesalahan dan prestasi.

Pelaksanaan

Terdapat beberapa perpustakaan baris gilir mesej sumber terbuka untuk dipilih di Jawa, seperti Apache Kafka, RabbitMQ dan ActiveMQ.

Untuk tutorial ini, kami akan menggunakan Spring Cloud Stream sebagai lapisan abstraksi baris gilir mesej. Spring Cloud Stream menyediakan sokongan untuk berbilang bahagian belakang pemesejan, termasuk Kafka dan RabbitMQ.

Kes Praktikal: Membuat Pesanan dan Pemprosesan

Untuk menunjukkan aplikasi baris gilir mesej dalam seni bina perkhidmatan mikro, kami mencipta perkhidmatan penciptaan dan pemprosesan pesanan.

Buat perkhidmatan pesanan

// OrderController.java
@PostMapping("/")
public ResponseEntity<Order> createOrder(@RequestBody Order order) {
    // 创建订单对象
    Order savedOrder = orderService.createOrder(order);

    // 将订单发布到消息队列
    orderPublisher.send(savedOrder);

    return ResponseEntity.ok(savedOrder);
}

Proses perkhidmatan pesanan

// OrderProcessor.java
@EventListener(topics = "${topic.order.created}")
public void processOrder(Order order) {
    // 处理订单
    orderService.processOrder(order);
}

Konfigurasikan

# application.yaml
spring:
  cloud:
    stream:
      bindings:
        order-created:
          destination: orders
          producer:
            partitionCount: 1
        order-status:
          destination: orders
          consumer:
            partitions: 1

Jalankan

proses pesanan Spring dan proses pesanan Spring untuk menjalankan. Membuat pesanan akan menerbitkan mesej kepada topik "yang dibuat pesanan", yang kemudiannya akan digunakan dan diproses oleh perkhidmatan pemprosesan pesanan.

Kesimpulan

Melalui kes praktikal ini, kami menunjukkan cara menggunakan baris gilir mesej untuk komunikasi antara perkhidmatan tak segerak dalam seni bina perkhidmatan mikro Java. Baris gilir mesej meningkatkan kebolehskalaan, toleransi kesalahan dan prestasi dengan ketara dengan menyahganding interaksi antara perkhidmatan.

Atas ialah kandungan terperinci Baris gilir mesej dalam seni bina perkhidmatan mikro Java. 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