Pengenalan #
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:
- Server tunggal kehilangan kecekapan semasa mengendalikan permintaan yang besar
- Data sesi dipelihara dalam kes kegagalan pelayan
- 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:
- . 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.
- JBoss or WildFly: pelayan aplikasi yang dibangunkan oleh Red Hat.
- IIS (Perkhidmatan Maklumat Internet): Pelayan aplikasi yang dibangunkan oleh Microsoft.
Menubuhkan RELIANOID Load Balancer #
Dengan RELIANOID Load Balancer kami boleh memastikan ketersediaan dan skalabiliti tinggi untuk pelayan aplikasi. Ambil perhatian bahawa, untuk mengikuti arahan ini, anda perlu memasang contoh RELIANOID Pengimbang Beban dan beberapa contoh pelayan aplikasi. Persekitaran yang akan kami huraikan adalah seperti berikut:

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 #
Apabila RELIANOID Pengimbang Beban dipasang, ia diperlukan untuk mencipta IP maya baharu, 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 Jimat .
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 khususnya Tomcat, / app2 khususnya Jboss dan / app3 khususnya 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 ' '
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 selamat boleh disediakan dengan mudah RELIANOID Pengimbang Beban, jadi langkah seterusnya ialah mendayakan 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.










