Ringkasan #
Tujuan artikel ini adalah untuk menjelaskan cara memperbesar kemampuan server aplikasi seperti Kucing jantan, Jboss or IIS dengan menjadikannya sangat skalabel di web dan dengan menyiapkannya dalam ketersediaan tinggi agar toleran terhadap kegagalan, dan bagaimana memperkuat keamanan siber.
Apa yang dimaksud dengan ketersediaan tinggi? #
Ketersediaan tinggi adalah kualitas sistem atau komponen yang menjamin kinerja operasional tingkat tinggi, biasanya waktu aktif, untuk jangka waktu yang lebih lama dari biasanya.
Dengan mengatur Server Aplikasi dalam ketersediaan tinggi, kami memecahkan masalah berikut:
- Sebuah server tunggal kehilangan efisiensi ketika menangani permintaan dalam jumlah besar
- Data sesi disimpan jika terjadi kegagalan server
- Memperbarui aplikasi tanpa menghentikan layanan
Apa itu skala web? #
Menerapkan prinsip skala web ke Server Aplikasi, semua proses bisnis dengan ukuran berapa pun dapat tumbuh, dioptimalkan, diotomatisasi, dan dapat diskalakan secara efektif.
Apa itu server aplikasi? #
Server aplikasi adalah kerangka perangkat lunak yang menyediakan logika bisnis untuk program aplikasi, artinya ia mengelola sumber daya untuk membuat aplikasi web dan lingkungan server untuk menjalankannya.
Meskipun artikel ini dapat digunakan sebagai panduan untuk server aplikasi apa pun, kami akan menjelaskan beberapa detail tentang yang paling populer, yaitu:
- The Kucing jantan perangkat lunak (atau juga dikenal sebagai Apache Tomcat atau server Tomcat): implementasi open source dari teknologi Java Servlet, JavaServer Pages, Java Expression Language, dan Java WebSocket.
- JBoss or WildFly: server aplikasi yang dikembangkan oleh Red Hat.
- IIS (Layanan Informasi Internet): Server aplikasi yang dikembangkan oleh Microsoft.
Menyiapkan RELIANOID Load Balancer #
Dengan RELIANOID Load Balancer kami dapat memastikan ketersediaan dan skalabilitas tinggi untuk server aplikasi. Perhatikan bahwa, untuk mengikuti petunjuk ini, Anda perlu menginstal sebuah instance RELIANOID Load Balancer dan beberapa contoh server aplikasi. Lingkungan yang akan kami uraikan adalah sebagai berikut:

Langkah 0: Replikasi server #
Dalam contoh kami, kami menggunakan dua server backend untuk setiap aplikasi, namun kami dapat menyertakan sebanyak yang diperlukan. Penting untuk memastikan konsistensi, sehingga saat menyambung ke server aplikasi, kita selalu melihat hal yang sama dan semua data yang tersimpan di aplikasi tidak hilang. Untuk mencapai hal ini, replikasi sesi dalam server harus diatur. Kami menyebutnya langkah 0 karena ini harus dilakukan di server aplikasi.
Kucing jantan menyediakan replikasi sesi dalam memori bawaan: Manajer Delta ke Pengelola backup. Perbedaan utama antara kedua replikator ini adalah Manajer Delta lebih lambat, namun lebih dapat diandalkan jika terjadi kegagalan.
JBoss juga menyediakan cara sederhana untuk mengaktifkan replikasi sesi: dengan menandai aplikasi sebagai dapat didistribusikan di web.xml deskriptor.
Replikasi layanan untuk IIS dapat dicapai dengan menggunakan DFSR (Replikasi Sistem File Terdistribusi).
Langkah 1: Buat IP virtual #
Sekali RELIANOID Load Balancer diinstal, diperlukan untuk membuat IP virtual baru, dari menu utama, pilih Jaringan->Antarmuka Virtual->Tindakan->Buat
Temukan antarmuka fisik tempat Anda ingin membuat IP virtual
Ketikkan nama dan alamat IP virtual baru Anda. Kemudian Simpan dengan mengklik tombol “Buat”.
Langkah 2: Buat http farm #
Farm atau cluster adalah kumpulan server komputer yang menyediakan fungsionalitas server yang meningkatkan kemampuannya secara signifikan. Meskipun kami menggunakan istilah tersebut kebun ke kelompok sebagai sinonim, ada sedikit perbedaan di antara keduanya. Ketika berbicara tentang a kelompok, redundansi tersirat, tetapi ketika berbicara tentang a kebun, mungkin ada redundansi atau tidak. Dalam kasus kita, karena kita memiliki toleransi terhadap konfigurasi kegagalan, kita dapat membicarakan farm atau cluster sebagai sinonim.
Dengan cara ini, dengan menyiapkan kumpulan server aplikasi, kami akan meningkatkan kinerjanya dan toleransi terhadap kegagalan, yang penting untuk ketersediaan tinggi. Untuk mencapai hal ini, kunjungi LSLB->Pertanian-> Buat
Pilih nama dan HTTP sebagai profil. Kami memilih profil http karena ini adalah opsi terbaik untuk layanan web karena kami dapat menyediakan opsi peralihan konten dalam IP dan port virtual yang sama.
Dua opsi lagi akan ditampilkan. Pilih IP virtual yang dibuat pada langkah 1 dan port (dalam contoh kita memilih 80, karena ini adalah default untuk protokol HTTP) dan klik pada Simpan .
Langkah 3: Tambahkan layanan #
Ide utamanya adalah untuk melayani aplikasi berbeda dari server aplikasi berbeda dari IP dan port Virtual yang sama. Jadi, setelah farm dibuat, kita harus mengeditnya untuk menambahkan layanan baru. Dalam contoh kita, kita akan menyiapkan tiga layanan. Satu untuk setiap server aplikasi. Silakan klik tombolnya edit pertanian.
Beberapa detail peternakan dapat diedit, dalam contoh ini kita akan menetapkan nilai default dan layanannya.
Pada tangkapan layar di atas yang kita miliki Menambahkan layanan dengan nama layanan "app1".
Karena kita akan mengakses ketiga layanan tersebut melalui lahan yang sama, kita perlu membedakan antara layanan-layanan tersebut. Untuk melakukan ini, kita dapat menetapkan nilai untuk Pola URL. Bidang ini memungkinkan untuk menentukan layanan web berdasarkan URL yang diminta klien melalui pola URL tertentu. Dalam contoh kita, kita akan mengetik ^/aplikasi1.*, ^/aplikasi2.* ke ^/aplikasi3.*. Klik pada memodifikasi untuk menerapkan perubahan.
Ingatlah bahwa backend harus menemukan alamatnya http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (dalam contoh kita http://192.168.56.200/app1), untuk menjamin hal ini, konteksnya harus diatur dalam aplikasi Anda. Dalam contoh kita, kita akan mengatur konteksnya /aplikasi1 untuk Kucing jantan, /aplikasi2 untuk Jboss ke /aplikasi3 untuk IIS. itu Konteks mewakili aplikasi web yang berjalan dalam host virtual tertentu. Dalam kasus khusus IIS, konteks disebut sebagai aplikasi.
Dalam contoh ini, kami memiliki dua server backend per aplikasi. Kami memilih IP, port (default 8080 untuk Kucing jantan ke JBoss, dan 80 untuk IIS), batas waktu dan berat dan klik simpan bagian belakang .
Kami ingin menghindari pergantian server: jika selama sesi kami berpindah dari satu server ke server lainnya, akan terjadi efisiensi, data, dan bahkan kehilangan komunikasi. Untuk menghindari hal ini Sesi ketekunan harus dikonfigurasi. Kami akan memilih untuk mempertahankan sesi berdasarkan id sesi, jadi ini berarti selama sesi, kami hanya akan terhubung ke satu server.
Dalam parameter global layanan, kita sekarang dapat mengubah bidang sesi persistensi menjadi COOKIE: cookie tertentu
Pilih JSESIONID sebagai pengidentifikasi sesi persistensi untuk Tomcat dan Jboss dan SessionID untuk IIS, lalu klik Perbarui di bagian bawah halaman.
Sekarang, di lahan yang sama kita harus menambahkan 2 layanan lagi dengan cara yang sama daripada app1 untuk app2 dan app3, termasuk cookie persistensi untuk JBoss (defaultnya disebut JSESIONID) dan IIS (cookie default untuk ASP.NET adalah ASPXAUTH), masing-masing tetapi Anda dapat menggunakan cookie yang diperlukan oleh aplikasi. Setiap layanan di peternakan memiliki backendnya sendiri yang dapat dibagikan antar peternakan atau layanan peternakan.
Perhatikan bahwa urutan layanan penting agar sesuai dengan pola URL yang benar.
Terakhir, kita harus menerapkan perubahan dengan memulai kembali peternakan.
Selamat! Anda telah mengonfigurasi server aplikasi Anda dalam ketersediaan tinggi. Anda dapat mengaksesnya dengan mengetik 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 lanjutan #
Kami sekarang akan menyiapkan farm Guardian untuk melakukan pemeriksaan kesehatan lanjutan pada backend untuk memastikan bahwa backend aktif, berjalan, dan perilaku aplikasi yang benar, bukan hanya pemeriksaan port TCP. Silakan temukan Penjaga Pertanian dalam Layanan Anda yang telah kami siapkan di langkah 3. Klik Gunakan FarmGuardian untuk memeriksa Server Backend, Anda juga dapat mengubah waktu antara pemeriksaan dan akhirnya, di Perintah untuk memeriksa kotak teks, ketikkan perintah berikut.
check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s ' '
Terakhir, klik Perbarui di bagian bawah halaman.
Perintah periksa_http menguji koneksi HTTP dengan host yang ditentukan. Dalam kasus kami, kami menggunakan opsi berikut:
-AKU TUAN RUMAH: Token HOST akan diganti dengan alamat IP backend yang ditentukan.
-w 10: waktu respons untuk menghasilkan status peringatan: 10 detik
-c 10: waktu respons terhadap status kritis: 10 detik
-t 10: 10 detik sebelum waktu koneksi habis
-e 200: mengharapkan string 200 dalam status respons server
-p PELABUHAN: Token PORT akan digantikan oleh port backend yang ditentukan.
-S ' ': string yang diharapkan dalam konten adalah ' '
Jadi apa yang akan dilakukan perintah ini pada dasarnya adalah memeriksa apakah kita mendapat respons 200 OK, dan perintah respons berisi string ' '. Kami memilih string ini karena berada di akhir respons, dengan cara ini kami dapat menjamin bahwa kami mendapatkan jawaban lengkap dari backend.
Langkah 5: Keamanan tinggi #
Komunikasi yang aman dapat diatur dengan mudah RELIANOID Load Balancer, jadi langkah selanjutnya adalah mengaktifkan pendengar HTTPS: Di Edit parameter global pertanian layar, silakan ubah pendengar pertanian dari HTTP ke HTTPS dan Port Virtual ke 443.
Kini, layanan tersebut dapat diakses dengan mengetik https://[Your_virtual_ip]/[yourappservice] di browser Anda.
Komunikasi aman kini berjalan, namun kita dapat melangkah lebih jauh dengan mengonfigurasi parameter HTTPS: di dalam parameter global farm, cari lokasi Pengaturan HTTPS bagian. Kita bisa mengubah Cipher untuk Keamanan TINGGI.
Bidang ciphers digunakan untuk membuat daftar cipher yang diterima oleh koneksi SSL untuk memperkuat koneksi SSL. Dengan memilih Keamanan TINGGI, kami akan menyetel sandi secara default.
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 adalah Sertifikat HTTPS tersedia: daftar sertifikat akan ditampilkan untuk dipilih untuk farm saat ini (hanya untuk farm HTTP, seperti kasus kami). Kita dapat memilih satu dari daftar dan mengkliknya Add. Akhirnya, klik memodifikasi dan mulai ulang pertanian untuk menerapkan perubahan.
Untuk informasi lebih lanjut, silakan lihat Peternakan profil HTTP.
HTTPS juga dapat diaktifkan di server aplikasi Anda, jika demikian, Anda harus mengaktifkan opsi tersebut backend HTTPS.










