Topik ini menjelaskan cara melepaskan aplikasi High-Speed Service Framework (HSF) dengan lancar di Enterprise Distributed Application Service (EDAS).
Prasyarat
- Versi EDAS Container Anda adalah V3.5.7 atau lebih baru. Jika versi EDAS Container Anda lebih lama dari V3.5.7, perbarui. Untuk informasi lebih lanjut, lihat Tingkatkan atau turunkan lingkungan runtime.
- Aplikasi Anda dikonfigurasi dengan URL pemeriksaan kesehatan.
Untuk melepaskan aplikasi HSF dengan lancar, Anda harus mengonfigurasi URL pemeriksaan kesehatan untuk aplikasi tersebut. Dengan cara ini, skrip dapat dipasang untuk memberi tahu EDAS ketika aplikasi dimulai. Skrip ini secara otomatis dieksekusi setelah aplikasi dimulai.
Secara default, URL pemeriksaan kesehatan tidak dikonfigurasi di EDAS. Anda harus secara manual membuat dan mengonfigurasi pengontrol yang diperlukan dalam kode aplikasi.
@RestController public class HealthCheckController { @RequestMapping("/health") public String healthCheck(){ return "success"; } }Pemeriksaan kesehatan berbasis URL mencerminkan status kesehatan aplikasi lebih akurat daripada pemeriksaan kesehatan berbasis port.
- Sebelum URL pemeriksaan kesehatan dikonfigurasi

- Setelah URL pemeriksaan kesehatan dikonfigurasi

- Sebelum URL pemeriksaan kesehatan dikonfigurasi
Informasi latar belakang
Selama startup aplikasi, layanan didaftarkan ke registri. Setelah konsumen layanan menerima notifikasi pendaftaran berhasil, konsumen memulai panggilan ke penyedia layanan. Namun, startup aplikasi adalah proses yang berkelanjutan. Selama proses ini, layanan mungkin telah dirilis, tetapi komponen dependennya, seperti Redis atau sumber daya database, masih belum diinisialisasi. Jika arah masuk terjadi dalam situasi ini, panggilan gagal. Untuk mencegah kegagalan panggilan, Anda dapat melepaskan aplikasi HSF dengan lancar.
Semua bean penyedia HSF tidak didaftarkan ke registri selama inisialisasi. Sebagai gantinya, mereka didaftarkan setelah semua bean di kontainer Spring diinisialisasi dan RefreshEvent dikirim. Selain itu, Pandora menetapkan status menjadi true setelah semua layanan didaftarkan. O&M juga diperlukan. Setelah app server (Tomcat) dimulai dan sebelum web server dimulai, Anda dapat menjalankan perintah curl localhost:12201/hsf/status untuk memeriksa apakah layanan diinisialisasi. Jika ya, mulai server web Apache atau NGINX.
Konfigurasikan pelepasan tertunda untuk aplikasi HSF
Masuk ke .
Di panel navigasi sisi kiri, pilih .
- Di bilah navigasi atas, pilih wilayah. Di halaman Applications, pilih namespace mikro-layanan tempat aplikasi yang ingin dilepaskan dengan lancar berada. Lalu, klik nama aplikasi tersebut.
- Di halaman Basic Information aplikasi, klik Edit di sebelah kanan JVM Parameters di bagian Application Settings.
- Di kotak dialog Application Settings, klik Custom. Di bidang Custom Parameters, masukkan -Dhsf.publish.delayed=true dan klik Configure JVM Parameters.Setelah pelepasan tertunda dikonfigurasi, aplikasi HSF tidak langsung dirilis. Sebagai gantinya, aplikasi HSF dirilis setelah menerima notifikasi yang dikirim oleh skrip pelepasan.
- Masuk ke instance Elastic Compute Service (ECS) tempat aplikasi HSF diterapkan untuk memverifikasi pelepasan tertunda.
- Jalankan perintah telnet localhost 12201 untuk masuk ke instance ECS.
- Jalankan perintah cd hsf untuk pergi ke direktori HSF.
- Jalankan perintah ls untuk melihat status pelepasan layanan.

Pasang skrip pelepasan otomatis
Masuk ke .
Di panel navigasi sisi kiri, pilih .
- Di bilah navigasi atas, pilih wilayah. Di halaman Applications, pilih namespace mikro-layanan tempat aplikasi yang ingin dilepaskan dengan lancar berada. Lalu, klik nama aplikasi tersebut.
- Di halaman Basic Information aplikasi, klik Mount Script di bagian Application Settings.
- Di kotak dialog Mount Script, klik Post-launch Script dan masukkan skrip berikut:
grep "PANDORA QOS PORT" /home/admin/edas-assist/edas-assist.pid | sed 's/\x0D$//' | awk -F":" '{ print "curl localhost:"$2"/hsf/online?k=hsf"}'| shDaftar berikut menjelaskan skrip:- Isi file edas-assist.pid
PID:19426 HSF PORT:12200 PANDORA QOS PORT:12203 MONITOR PORT:8006 CSP PORT:8719 - /home/admin/edas-assist/edas-assist.pid adalah file yang mencatat nomor port Pandora Boot. Nomor port Pandora Boot dibuat secara acak setelah EDAS Container dimulai. Dalam banyak kasus, nomor port adalah 12201. Jika port digunakan, port berikutnya akan digunakan.
- Perintah curl localhost:"$2"/hsf/online?k=hsf digunakan untuk melepaskan aplikasi HSF dan memberi tahu EDAS Container bahwa aplikasi HSF telah dirilis. Anda juga dapat menjalankan perintah ini secara manual.
- Isi file edas-assist.pid
Verifikasi hasil
Anda dapat menggunakan metode quality of service (QoS) atau metode log untuk memeriksa apakah aplikasi HSF dilepaskan dengan lancar.
- QoS
Setelah skrip dikonfigurasi, Anda dapat melepaskan aplikasi HSF dengan lancar saat melakukan operasi seperti menerapkan atau mereset aplikasi. Anda dapat masuk ke instance ECS tempat aplikasi diterapkan dan memeriksa status pelepasan layanan.

- Log
Periksa apakah file /home/admin/logs/hsf/hsf.log berisi log berikut. Jika log ada, aplikasi HSF telah menerima perintah pelepasan.
01 2019-11-26 16:23:03.456 INFO [qos-worker-3-1:t.hsf] [38ef6d01-10a8-405d-8725-bd7bf121****] [] [] Receive online command.Do HSF online.