Beban Imbangan dan Ketersediaan Tinggi Pelayan Aplikasi: Tomcat, Jboss dan IIS

DIPOS oleh Zevenet | 24 Februari 2017

Gambaran Keseluruhan

Matlamat artikel ini adalah untuk menerangkan cara membesarkan pelayan aplikasi keupayaan seperti Tomcat, Jboss or IIS dengan menjadikannya web yang sangat luas dan dengan menetapkannya dalam ketersediaan yang tinggi agar dapat bertoleransi terhadap kegagalan, dan bagaimana untuk memperkuat keamanan siber.

Apakah ketersediaan tinggi?

Ketersediaan yang tinggi adalah kualiti sistem atau komponen yang menjamin tahap prestasi operasi yang tinggi, biasanya uptime, untuk jangka masa yang lebih tinggi daripada biasa.

Dengan menubuhkan Pelayan Aplikasi dalam ketersediaan tinggi, kami menyelesaikan isu-isu berikut:

  1. Server tunggal kehilangan kecekapan semasa mengendalikan permintaan yang besar
  2. Data sesi dipelihara dalam kes kegagalan pelayan
  3. Mengemaskini aplikasi tanpa henti perkhidmatan

Apakah skala web?

Menerapkan prinsip skala web kepada Pelayan Aplikasi semua proses perniagaan dari sebarang saiz dapat berkembang, dioptimumkan, dioptimumkan secara automatik dan berkesan.

Apakah pelayan aplikasi?

Pelayan aplikasi adalah rangka kerja perisian yang menyediakan logik perniagaan untuk program aplikasi, ini bermakna ia mentadbir sumber untuk membuat aplikasi web dan persekitaran pelayan untuk menjalankannya.
Walaupun artikel ini boleh digunakan sebagai panduan untuk mana-mana pelayan aplikasi, kami akan menjelaskan beberapa butiran tentang yang paling popular, iaitu:

  1. . Tomcat perisian (atau juga dikenali sebagai pelayan Apache Tomcat atau Tomcat): pelaksanaan sumber terbuka Java Servlet, JavaServer Pages, Java Expression Language dan Java WebSocket technologies.
  2. JBoss or WildFly: pelayan aplikasi yang dibangunkan oleh Red Hat.
  3. IIS (Perkhidmatan Maklumat Internet): Pelayan aplikasi yang dibangunkan oleh Microsoft.

Menyediakan Zevenet Load Balancer

Apabila berlakunya Zevenet Load Balancer kami dapat memastikan ketersediaan dan skalabilitas yang tinggi untuk pelayan aplikasi. Ambil perhatian bahawa, untuk mengikuti arahan ini, diperlukan untuk memasang contoh Zevenet Load Balancer dan beberapa contoh pelayan aplikasi. Persekitaran yang akan kita jelaskan adalah berikut:

Skim pelayan aplikasi

Langkah 0: Replikasi pelayan

Dalam contoh kami, kami menggunakan dua pelayan backend untuk setiap aplikasi, tetapi kami boleh memasukkan seberapa banyak yang diperlukan. Adalah penting untuk memastikan konsistensi, supaya apabila menyambung ke pelayan aplikasi, kami sentiasa melihat yang sama dan semua data yang disimpan dalam aplikasi tidak hilang. Untuk mencapai ini, replikasi sesi di dalam pelayan mesti ditubuhkan. Kami panggil ini langkah 0 kerana ini mesti dilakukan di pelayan aplikasi.

Tomcat menyediakan replikasi sesi ingatan memori terbina dalam: DeltaManager dan BackUpManager. Perbezaan utama antara kedua-dua replikator ini ialah DeltaManager adalah lebih perlahan, tetapi lebih dipercayai jika berlaku kegagalan.

JBoss juga menyediakan cara mudah untuk membolehkan replikasi sesi: dengan menandakan aplikasi sebagai boleh diagihkan di web.xml deskriptor.

Replikasi perkhidmatan untuk IIS boleh dicapai dengan menggunakan DFSR (Replikasi Sistem Fail Teragih).

Langkah 1: Buat IP maya

Setelah Zevenet Load Balancer dipasang, diperlukan untuk membuat IP maya baru, dari menu utama, pilih Rangkaian-> Muka Antara Muka-> Tindakan-> Buat

Cari antara muka fizikal di mana anda ingin membuat IP maya

 

Taipkan nama dan alamat IP maya baru anda. Kemudian Simpan dengan mengklik butang "Buat".

Langkah 2: Buat ladang http

Ladang atau kelompok adalah koleksi pelayan komputer yang menyediakan fungsi pelayan yang meningkatkan keupayaannya dengan ketara. Walaupun kami menggunakan istilah ini ladang dan kelompok sebagai sinonim, terdapat sedikit perbezaan antara mereka. Apabila bercakap tentang a kelompok, redundansi tersirat, tetapi apabila bercakap mengenai a ladang, mungkin ada atau mungkin tidak ada redundansi. Dalam kes kita, kerana kita akan mempunyai toleransi terhadap konfigurasi kegagalan, kita boleh bercakap tentang ladang atau kluster sebagai sinonim.

Dengan cara ini, dengan menubuhkan ladang pelayan aplikasi, kami akan meningkatkan prestasi dan kegagalannya, yang penting untuk ketersediaan yang tinggi. Untuk mencapai ini pergi ke LSLB-> Ladang-> Buat

Pilih nama dan HTTP sebagai profil. Kami memilih profil http kerana ia merupakan pilihan terbaik untuk perkhidmatan web kerana kami dapat menyediakan pilihan pensuisan kandungan di bawah IP dan port maya yang sama.

Dua lagi pilihan akan dipaparkan. Pilih IP maya yang dicipta pada langkah 1 dan port (dalam contoh yang kita pilih 80, kerana ia adalah lalai untuk protokol HTTP) dan klik pada Simpan .

Langkah 3: Tambah perkhidmatan

Idea utama adalah untuk menyediakan aplikasi yang berbeza dari pelayan aplikasi yang berbeza dari IP dan port Maya yang sama. Jadi, sebaik sahaja ladang dibuat, kita perlu mengeditnya untuk menambah perkhidmatan baru. Dalam contoh kami, kami akan menubuhkan tiga perkhidmatan. Satu untuk setiap pelayan aplikasi. Sila klik pada butang edit ladang.

Beberapa butiran ladang boleh diedit, contohnya kita akan menetapkan nilai lalai dan perkhidmatan.

Dalam tangkapan skrin di atas, kita ada Menambah perkhidmatan dengan nama perkhidmatan "app1".

 

Oleh kerana kita akan mengakses ketiga-tiga perkhidmatan melalui ladang yang sama, kita perlu membezakan antara perkhidmatan ini. Untuk melakukan ini, kita boleh menetapkan nilai untuk Corak URL. Bidang ini membenarkan untuk menentukan perkhidmatan web mengikut URL yang diminta klien menerusi corak URL tertentu. Dalam contoh kami, kami akan menaip ^ / app1. *, ^ / app2. * dan ^ / app3. *. Klik pada Ubahsuai untuk memohon perubahan.

Sila ambil perhatian bahawa backend mesti mencari alamat http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (dalam contoh kita http://192.168.56.200/app1), untuk menjamin ini, konteks mesti ditubuhkan dalam permohonan anda. Dalam contoh kami, kami akan menyediakan konteks / app1 untuk Tomcat, / app2 untuk Jboss dan / app3 untuk IIS. Yang Konteks mewakili aplikasi web yang berjalan dalam hos maya tertentu. Dalam kes tertentu IIS, konteks dirujuk sebagai aplikasi.

Dalam contoh ini, kami mempunyai dua pelayan sokongan setiap permohonan. Kami memilih IP, port (default 8080 untuk Tomcat dan JBoss, dan 80 untuk IIS), masa tamat dan berat dan klik pada simpan backend .

Kami ingin mengelakkan penggantian pelayan: jika semasa sesi kami kami melompat dari satu pelayan ke pelayan lain, akan ada kecekapan, data dan juga kehilangan komunikasi. Untuk mengelakkan ini Sesi ketekunan mesti dikonfigurasikan. Kami akan memilih untuk mengekalkan sesi oleh id sesi, jadi ini bermakna bahawa semasa sesi, kami akan menyambung kepada hanya satu pelayan.

Dalam parameter global perkhidmatan kami kini boleh mengubah medan sesi ketekunan kepada COOKIE: kuki tertentu

pilih Jsessionid sebagai pengenal sesi pengekalan untuk Tomcat dan Jboss dan SessionID untuk IIS, kemudian klik pada Kemaskini pada botton halaman.

 

Sekarang, di bawah ladang yang sama kita 'menambah 2 perkhidmatan dengan cara yang sama daripada app1 untuk app2 dan app3, termasuk cookie ketekunan untuk JBoss (lalai disebut Jsessionid) dan IIS (kuki lalai untuk ASP.NET ialah ASPXAUTH), tetapi anda boleh menggunakan cookie yang dikehendaki oleh aplikasi. Setiap perkhidmatan di ladang mempunyai latar belakang sendiri yang boleh dikongsi antara ladang atau ladang ladang.

Ambil perhatian bahawa, urutan perkhidmatan adalah penting untuk sepadan dengan corak URL yang betul.

Akhirnya, kita mesti menerapkan perubahan dengan memulakan semula ladang.

Tahniah! anda telah mengkonfigurasi pelayan aplikasi anda dalam ketersediaan yang tinggi. Anda boleh mengaksesnya dengan menaip http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (dalam contoh kita http://192.168.56.200/app1, http://192.168.56.200/app2 or http://192.168.56.200/app3).

Langkah 4: Pemeriksaan lanjut

Kami sekarang akan menubuhkan penjaga ladang untuk melakukan pemeriksaan kesihatan yang canggih ke belakang supaya memastikan bahawa mereka sudah siap, berjalan dan tingkah laku yang benar aplikasi, bukan hanya pemeriksaan pelabuhan TCP. Sila cari Penjaga Ladang dalam Perkhidmatan anda, kami telah menetapkan dalam langkah 3. Klik pada Gunakan FarmGuardian untuk menyemak pelayan Backend, anda juga boleh mengubah masa antara cek dan akhirnya, dalam Perintah untuk memeriksa kotak teks, taip arahan berikut.

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s '</html>'

Akhirnya, klik pada Kemas kini pada butang halaman.

 

Perintah itu check_http menguji hubungan HTTP dengan hos yang ditentukan. Dalam kes kami, kami menggunakan pilihan berikut:

-I HOST: HOST token akan digantikan oleh alamat IP backend yang ditakrifkan.
-w 10: masa tindak balas untuk menghasilkan status amaran: 10 saat
-c 10: masa tindak balas kepada status kritikal: 10 saat
-t 10: 10 saat sebelum masa sambungan
-e 200: menjangka rentetan 200 dalam status respons server
-p PORT: PORT token akan digantikan dengan port backend yang ditentukan.
-s ' ': rentetan yang diharapkan dalam kandungan adalah ' '

Jadi apa yang akan dilakukan oleh perintah ini pada dasarnya adalah memeriksa bahawa kita mendapat respons 200 OK, dan bahawa arahan respons mengandungi rentetan ' '. Kami memilih rentetan ini kerana pada akhir respons, dengan cara ini kami dapat menjamin bahawa kami mendapat jawapan penuh dari bahagian belakang.

Langkah 5: Keamanan yang tinggi

Komunikasi yang selamat boleh dengan mudah ditubuhkan dengan Zevenet Load Balancer, jadi langkah seterusnya adalah untuk membolehkan pendengar HTTPS: Pada Edit parameter ladang global skrin, sila tukar pendengar ladang dari HTTP ke HTTPS dan Port Maya ke 443.

Sekarang, perkhidmatan boleh diakses dengan menaip https://[Your_virtual_ip]/[yourappservice] dalam pelayar anda.

Komunikasi selamat kini berjalan, tetapi kita boleh pergi lebih jauh dengan mengkonfigurasi parameter HTTPS: dalam parameter ladang global, cari Tetapan HTTPS seksyen. Kita boleh mengubahnya Ciphers kepada Keselamatan Tinggi.

Medan ciphers digunakan untuk membina senarai ciphers yang diterima oleh sambungan SSL untuk mengeras sambungan SSL. Dengan memilih Keselamatan tinggi, kami akan menetapkan secara lalai ciphers.

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

Pilihan lain ialah Sijil HTTPS tersedia: senarai sijil akan ditunjukkan untuk dipilih untuk ladang semasa (hanya untuk ladang HTTP, yang mana kita adalah). Kita boleh memilih satu dari senarai dan klik pada Tambah. Akhir sekali, klik pada Ubahsuai dan mulakan semula ladang untuk menerapkan perubahan.

Untuk maklumat lanjut, sila lihat Ladang profil HTTP.

HTTPS juga boleh didayakan di pelayan aplikasi anda, jika ini berlaku, anda mesti mengaktifkan pilihan Backend HTTPS.

Berkongsi pada:

Dokumentasi di bawah syarat-syarat Lesen Dokumentasi Bebas GNU.

Adakah artikel ini berguna?

Artikel yang berkaitan