Menyiapkan Load Balancer 'XR' (Crossroads) untuk Server Web di RHEL/CentOS


Crossroads adalah utilitas keseimbangan beban dan failover sumber terbuka yang independen terhadap layanan untuk layanan berbasis Linux dan TCP. Ini dapat digunakan untuk HTTP, HTTPS, SSH, SMTP dan DNS dll. Ini juga merupakan utilitas multi-thread yang hanya menggunakan satu ruang memori yang mengarah pada peningkatan kinerja saat menyeimbangkan beban.

Mari kita lihat cara kerja XR. Kita dapat menemukan XR antara klien jaringan dan kumpulan server yang mengirimkan permintaan klien ke server yang menyeimbangkan beban.

Jika server sedang down, XR meneruskan permintaan klien berikutnya ke server berikutnya, sehingga klien tidak merasakan downtime. Lihat diagram di bawah ini untuk memahami situasi seperti apa yang akan kita tangani dengan XR.

Ada dua server web, satu server gateway yang kami instal dan atur XR untuk menerima permintaan klien dan mendistribusikannya di antara server.

XR Crossroads Gateway Server : 172.16.1.204
Web Server 01 : 172.16.1.222
Web Server 02 : 192.168.1.161

Dalam skenario di atas, server gateway saya (yaitu XR Crossroads) menggunakan alamat IP 172.16.1.222, webserver01 adalah 172.16.1.222 dan mendengarkan melalui port 8888 dan webserver02 adalah 192.168.1.161 dan mendengarkan melalui port 5555.

Sekarang yang saya butuhkan hanyalah menyeimbangkan beban semua permintaan yang diterima oleh gateway XR dari internet dan mendistribusikannya di antara dua server web yang menyeimbangkan beban.

Langkah 1: Instal Load Balancer XR Crossroads di Server Gateway

1. Sayangnya, tidak ada paket RPM biner yang tersedia untuk crosscroads, satu-satunya cara untuk menginstal crossroads XR dari tarball sumber.

Untuk mengkompilasi XR, Anda harus menginstal kompiler C++ dan utilitas Gnu make pada sistem agar dapat melanjutkan instalasi bebas dari kesalahan.

yum install gcc gcc-c++ make

Selanjutnya, unduh tarball sumber dengan mengunjungi situs resminya (https://crossroads.e-tunity.com), dan ambil paket yang diarsipkan (yaitu crossroads-stable.tar.gz).

Alternatifnya, Anda dapat menggunakan utilitas wget berikut untuk mengunduh paket dan mengekstraknya di lokasi mana pun (misalnya: /usr/src/), buka direktori yang belum dibongkar dan keluarkan “< perintah kuat>buat instal ”.

wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
tar -xvf crossroads-stable.tar.gz
cd crossroads-2.74/
make install

Setelah instalasi selesai, file biner dibuat di bawah /usr/sbin/ dan konfigurasi XR dalam /etc yaitu “xrctl.xml ”.

2. Sebagai prasyarat terakhir, Anda memerlukan dua server web. Untuk kemudahan penggunaan, saya telah membuat dua instance python SimpleHTTPServer dalam satu server.

Untuk melihat cara menyiapkan SimpleHTTPServer python, baca artikel kami di Membuat Dua Server Web dengan Mudah Menggunakan SimpleHTTPServer.

Seperti yang saya katakan, kami menggunakan dua server web, dan keduanya webserver01 berjalan pada 172.16.1.222 melalui port 8888 dan webserver02 berjalan pada 192.168.1.161 melalui port 5555.

Langkah 2: Konfigurasikan Load Balancer XR Crossroads

3. Semua persyaratan sudah siap. Sekarang yang harus kita lakukan adalah mengkonfigurasi file xrctl.xml untuk mendistribusikan beban di antara server web yang diterima oleh server XR dari internet.

Sekarang buka file xrctl.xml dengan editor vi/vim.

vim /etc/xrctl.xml

dan buat perubahan seperti yang disarankan di bawah ini.

<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>Tecmint</name>
<server>
<address>172.16.1.204:8080</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>172.16.1.222:8888</address>
</backend>
<backend>
<address>192.168.1.161:5555</address>
</backend>
</service>
</configuration>

Di sini, Anda dapat melihat konfigurasi XR yang sangat mendasar yang dilakukan dalam xrctl.xml. Saya telah mendefinisikan apa itu server XR, apa itu server back end dan portnya serta port antarmuka web untuk XR.

4. Sekarang Anda perlu memulai daemon XR dengan mengeluarkan perintah di bawah ini.

xrctl start
xrctl status

5. Oke bagus. Sekarang saatnya memeriksa apakah konfigurasi berfungsi dengan baik. Buka dua browser web dan masukkan alamat IP server XR dengan port dan lihat hasilnya.

Fantastis. Ini berfungsi dengan baik. sekarang saatnya bermain dengan XR.

6. Sekarang saatnya masuk ke dasbor XR Crossroads dan melihat port yang telah kita konfigurasikan untuk antarmuka web. Masukkan alamat IP server XR Anda dengan nomor port antarmuka web yang telah Anda konfigurasikan di xrctl.xml.

http://172.16.1.204:8010

Seperti inilah tampilannya. Mudah dimengerti, ramah pengguna, dan mudah digunakan. Ini menunjukkan berapa banyak koneksi yang diterima setiap server back end di sudut kanan atas bersama dengan rincian tambahan mengenai penerimaan permintaan. Bahkan Anda dapat mengatur beban beban setiap server yang harus Anda tanggung, jumlah maksimum koneksi dan rata-rata beban, dll.

Bagian terbaiknya adalah, Anda sebenarnya dapat melakukan ini bahkan tanpa mengonfigurasi xrctl.xml. Satu-satunya hal yang harus Anda lakukan adalah mengeluarkan perintah dengan sintaks berikut dan itu akan menyelesaikan pekerjaannya.

xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555

Penjelasan sintaks di atas secara rinci:

  1. –verbose akan menampilkan apa yang terjadi ketika perintah telah dijalankan.
  2. –server mendefinisikan server XR tempat Anda menginstal paket.
  3. –backend menentukan server web yang Anda perlukan untuk menyeimbangkan lalu lintas.
  4. Tcp mendefinisikannya menggunakan layanan tcp.

Untuk lebih jelasnya tentang dokumentasi dan konfigurasi CROSSROADS, silakan kunjungi situs resmi mereka di: https://crossroads.e-tunity.com/.

XR Corssroads memungkinkan banyak cara untuk meningkatkan kinerja server Anda, melindungi waktu henti, dan membuat tugas admin Anda lebih mudah dan praktis. Semoga Anda menikmati panduan ini dan jangan ragu untuk berkomentar di bawah untuk saran dan klarifikasi. Tetap terhubung dengan Tecmint untuk mengetahui Cara praktisnya.

Baca Juga: Memasang Pound Load Balancer untuk Mengontrol Beban Server Web