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 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!