Cara menyediakan perisian tengah mesej yang sangat tersedia di Linux
Pengenalan:
Dengan aplikasi seni bina teragih yang meluas, perisian tengah mesej memainkan peranan penting dalam reka bentuk sistem. Mengekalkan ketersediaan tinggi perisian tengah mesej adalah penting untuk pengendalian sistem yang stabil. Artikel ini akan memperkenalkan cara untuk menyediakan perisian tengah mesej yang sangat tersedia di Linux dan memberikan contoh kod yang sepadan.
1. Apakah middleware mesej ketersediaan tinggi Ketersediaan tinggi biasanya bermakna sistem atau perkhidmatan boleh terus berjalan apabila kegagalan berlaku dan boleh dipulihkan kepada status operasi normal sebanyak mungkin. Sebagai komponen sistem teragih yang penting, perisian tengah mesej direka bentuk untuk ketersediaan tinggi untuk memastikan perisian tengah mesej kekal tersedia dalam apa jua keadaan dan untuk memastikan penghantaran mesej yang boleh dipercayai.
Di Linux, terdapat banyak middleware mesej matang untuk dipilih, seperti RabbitMQ, Kafka, ActiveMQ, dll. Artikel ini mengambil RabbitMQ sebagai contoh untuk memperkenalkan cara menyediakan perisian tengah mesej yang sangat tersedia di Linux.
Mula-mula, kita perlu memasang RabbitMQ pada Linux. Mengambil Ubuntu sebagai contoh, anda boleh menggunakan arahan berikut untuk memasang:
sudo apt-get install rabbitmq-server
Gunakan arahan berikut untuk mengedit fail konfigurasi RabbitMQ:
sudo nano /etc/rabbitmq/rabbitmq.conf
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_aws cluster_formation.aws.region = us-east-1 cluster_formation.aws.access_key_id = YOUR_ACCESS_KEY cluster_formation.aws.secret_access_key = YOUR_SECRET_KEY cluster_formation.aws.tag.Cluster = YOUR_CLUSTER_TAG cluster_formation.aws.back_off_base = 2 cluster_formation.aws.back_off_multiplier = 1.2
Gunakan arahan berikut untuk memulakan nod RabbitMQ:
sudo rabbitmq-server
Untuk menambah nod lain pada kluster, gunakan arahan berikut:
sudo rabbitmqctl stop_app sudo rabbitmqctl join_cluster rabbit@node1 sudo rabbitmqctl start_app
ialah nama nod yang telah dimulakan. node1
Apabila menghantar mesej, anda boleh menandakan mesej itu sebagai berterusan untuk memastikan mesej itu tidak akan hilang apabila nod RabbitMQ turun. Contohnya adalah seperti berikut:
import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='hello', durable=True) # 声明队列为持久化的 channel.basic_publish( exchange='', routing_key='hello', body='Hello World!', properties=pika.BasicProperties(delivery_mode=2) # 设置消息持久化 )
Dengan mendayakan mekanisme pengesahan keluaran, anda boleh memastikan mesej berjaya diterima oleh RabbitMQ. Contohnya adalah seperti berikut:
import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='hello') channel.confirm_delivery() # 启用发布确认机制 def on_delivery_confirmation(frame): if frame.method.NAME == 'Basic.Ack': print('Message successfully delivered to RabbitMQ') else: print('Message failed to be delivered to RabbitMQ') channel.add_on_delivery_callback(on_delivery_confirmation) channel.basic_publish( exchange='', routing_key='hello', body='Hello World!' )
Artikel ini memperkenalkan cara untuk menyediakan perisian tengah mesej yang sangat tersedia di Linux dan menyediakan kod sampel untuk RabbitMQ. Dalam aplikasi sebenar, konfigurasi dan pengoptimuman lanjut diperlukan mengikut keperluan khusus. Dengan menggunakan perisian tengah mesej yang tersedia secara rasional, keteguhan dan kebolehpercayaan sistem boleh dipertingkatkan, dan penyampaian mesej yang boleh dipercayai dapat dipastikan dalam persekitaran yang diedarkan.
Atas ialah kandungan terperinci Bagaimana untuk menyediakan perisian tengah pemesejan yang sangat tersedia di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!