Rumah > Operasi dan penyelenggaraan > operasi dan penyelenggaraan linux > Cara menggunakan Linux untuk penemuan perkhidmatan dan pengimbangan beban

Cara menggunakan Linux untuk penemuan perkhidmatan dan pengimbangan beban

PHPz
Lepaskan: 2023-06-18 17:30:34
asal
1484 orang telah melayarinya

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.

  1. Memasang Consul

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.

  1. Mulakan perkhidmatan Konsul

Konsul menggunakan port 8500 untuk komunikasi secara lalai, jadi kami perlu memulakan perkhidmatan Konsul. Gunakan arahan berikut:

consul agent -dev
Salin selepas log masuk

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.

  1. Perkhidmatan daftar

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
Salin selepas log masuk

Arahan di atas bermakna kami telah mendaftarkan perkhidmatan bernama "webapp" di Konsul dan menyatakan alamat IP, nombor port dan nombor versi perkhidmatan perkhidmatan tersebut.

  1. Menemui perkhidmatan

Menemui perkhidmatan menggunakan Konsul juga sangat mudah, gunakan arahan berikut:

curl http://localhost:8500/v1/catalog/service/webapp
Salin selepas log masuk

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.

  1. Pasang Nginx

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
Salin selepas log masuk
  1. Mengkonfigurasi 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
Salin selepas log masuk

Kemudian, cari teg "pelayan" di bawah teg "http", seperti yang ditunjukkan di bawah:

http {
    ...
    server {
        listen       80;
        server_name  localhost;
        ...
    }
    ...
}
Salin selepas log masuk

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;
        }
    }
    ...
}
Salin selepas log masuk
  1. Ujian pengimbangan beban

Nginx di atas konfigurasi selesai Selepas itu, kita boleh memulakan perkhidmatan Nginx dan mengakses ujian. Mula-mula, mulakan perkhidmatan Nginx:

sudo systemctl start nginx
Salin selepas log masuk

Kemudian, kita boleh menggunakan arahan curl untuk menguji:

curl http://localhost/
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan