Rumah > Artikel > Operasi dan penyelenggaraan > Cara menggunakan Linux untuk penemuan perkhidmatan dan pengimbangan beban
Dalam era pengkomputeran awan semasa, kontena dan perkhidmatan mikro merupakan model pembangunan perisian yang sangat popular. Dalam kaedah pembangunan ini, kepentingan penemuan perkhidmatan dan pengimbangan beban telah menjadi semakin menonjol. Sebagai sistem pengendalian sumber terbuka, Linux mempunyai banyak alat penemuan perkhidmatan dan pengimbangan beban Artikel ini akan memperkenalkan cara menggunakan Linux untuk penemuan perkhidmatan dan pengimbangan beban.
1. Penemuan perkhidmatan
Penemuan perkhidmatan adalah bahagian yang sangat diperlukan dalam sistem teragih. Ia boleh membantu kami mencari perkhidmatan dalam sistem teragih dan menyambungkannya. Dengan alat penemuan perkhidmatan, kami boleh mencapai ketersediaan tinggi bagi satu perkhidmatan dan penggunaan berbilang perkhidmatan dengan lebih mudah.
Pada masa ini, alat penemuan perkhidmatan yang lebih popular termasuk Etcd, ZooKeeper dan Consul. Artikel ini akan mengambil Consul sebagai contoh untuk memperkenalkan cara menggunakan Consul untuk penemuan perkhidmatan di Linux.
Consul menyediakan fail boleh laku dan sangat mudah untuk dipasang. Kami boleh memuat turun versi Linux Konsul dari tapak web rasmi dan memasangnya ke dalam sistem Linux.
Konsul menggunakan port 8500 untuk komunikasi secara lalai, jadi kami perlu memulakan perkhidmatan Konsul. Gunakan arahan berikut:
consul agent -dev
Arahan ini akan memulakan perkhidmatan Konsul dalam persekitaran pembangunan. Apabila kita menggunakan persekitaran pengeluaran, kita harus menggunakan persekitaran bukan pembangunan untuk memulakan perkhidmatan Konsul, tetapi kaedah permulaan khusus adalah sangat serupa dengan kaedah permulaan persekitaran pembangunan.
Selepas memulakan perkhidmatan Konsul, kami boleh mendaftar perkhidmatan yang perlu ditemui melalui Konsul. Gunakan arahan berikut:
curl -X PUT -d '{ "ID": "web", "Name": "webapp", "Tags": [ "v1" ], "Address": "192.168.44.10", "Port": 8080 }' http://localhost:8500/v1/agent/service/register
Arahan di atas bermakna kami telah mendaftarkan perkhidmatan bernama "webapp" di Konsul dan menyatakan alamat IP, nombor port dan nombor versi perkhidmatan perkhidmatan tersebut.
Menemui perkhidmatan menggunakan Konsul juga sangat mudah, gunakan arahan berikut:
curl http://localhost:8500/v1/catalog/service/webapp
Pada ketika ini, Konsul akan mengembalikan semua pendaftaran kepada perkhidmatan maklumat Nod, termasuk nama nod, alamat IP nod, nombor port nod, dsb.
2. Pengimbangan beban
Pengimbangan beban juga merupakan bahagian yang diperlukan dalam sistem teragih. Kami boleh mencapai ketersediaan perkhidmatan yang tinggi dan pengedaran sejumlah besar permintaan melalui pengimbangan beban. Alat pengimbangan beban yang biasa digunakan sekarang termasuk Nginx, HAProxy, Keepalived, dsb. Artikel ini akan mengambil Nginx sebagai contoh untuk memperkenalkan cara menggunakan Nginx untuk mencapai pengimbangan beban di Linux.
Nginx ialah pelayan web yang biasa digunakan dan kami boleh memasangnya menggunakan kaedah yang serupa dengan Consul. Untuk kaedah tertentu, anda boleh merujuk kepada laman web rasmi Nginx, atau anda boleh merujuk kepada arahan berikut untuk pemasangan:
sudo apt-get update sudo apt-get install nginx
Selepas memasang Nginx, kami perlu melakukan beberapa konfigurasi pada Nginx . Kami perlu mengubah suai fail konfigurasi Nginx dan menambah perkhidmatan yang kami perlukan untuk pengimbangan beban.
Mula-mula, buka fail konfigurasi lalai Nginx:
sudo nano /etc/nginx/nginx.conf
Kemudian, cari teg "pelayan" di bawah teg "http", seperti yang ditunjukkan di bawah:
http { ... server { listen 80; server_name localhost; ... } ... }
Kami hanya perlu Tambah sahaja konfigurasi proksi di bawah label "pelayan". Berikut ialah konfigurasi yang akan memajukan semua permintaan di bawah laluan "/" ke "webapp" yang didaftarkan dengan Konsul:
http { ... server { listen 80; server_name localhost; location / { proxy_pass http://webapp; } } ... }
Nginx di atas konfigurasi selesai Selepas itu, kita boleh memulakan perkhidmatan Nginx dan mengakses ujian. Mula-mula, mulakan perkhidmatan Nginx:
sudo systemctl start nginx
Kemudian, kita boleh menggunakan arahan curl untuk menguji:
curl http://localhost/
Permintaan ini akan diproksikan oleh Nginx ke salah satu perkhidmatan "webapp" yang didaftarkan oleh Konsul nod. Untuk setiap permintaan, Nginx akan memilih nod untuk pemajuan berdasarkan dasar pengimbangan bebannya sendiri.
Ringkasan
Di atas adalah tentang cara menggunakan Linux untuk penemuan perkhidmatan dan pengimbangan beban. Kami boleh menggunakan Konsul untuk operasi penemuan perkhidmatan dan Nginx untuk operasi pengimbangan beban. Sudah tentu, ini hanyalah dua alat yang biasa digunakan Terdapat banyak alat lain dalam Linux untuk penemuan perkhidmatan dan pengimbangan beban, dan anda boleh memilih mengikut situasi sebenar. Apabila kami menghadapi kontena dan perkhidmatan mikro, adalah sangat perlu untuk mempelajari dan menggunakan alat penemuan perkhidmatan dan pengimbangan beban.
Atas ialah kandungan terperinci Cara menggunakan Linux untuk penemuan perkhidmatan dan pengimbangan beban. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!