Sebaiknya nonaktifkan keterjangkauan di server selama pemeliharaan, misalnya saat memulai ulang atau upgrade server. Jika keterjangkauan dinonaktifkan, tidak ada traffic yang diarahkan ke server. Misalnya, jika keterjangkauan dinonaktifkan di Pemroses Pesan, Router tidak akan mengarahkan traffic apa pun ke Pemroses Pesan tersebut.
Misalnya, untuk mengupgrade Pemroses Pesan, Anda dapat menggunakan prosedur berikut:
- Menonaktifkan keterjangkauan pada Pemroses Pesan.
- Mengupgrade Pemroses Pesan.
- Mengaktifkan keterjangkauan pada Pemroses Pesan.
Menonaktifkan/mengaktifkan keterjangkauan di Pemroses Pesan
Untuk menonaktifkan keterjangkauan di Pemroses Pesan, Anda dapat menghentikan Pemroses Pesan:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
Pemroses Pesan terlebih dahulu memproses pesan yang tertunda sebelum dimatikan. Setiap permintaan baru akan dirutekan ke Pemroses Pesan lain yang tersedia.
Untuk memulai ulang Pemroses Pesan, gunakan perintah berikut:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor start
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
Perintah wait_for_ready
menampilkan pesan berikut saat Pemroses Pesan siap memproses pesan:
Checking if message-processor is up: message-processor is up.
Menonaktifkan/mengaktifkan keterjangkauan di Router
Dalam lingkungan produksi, Anda biasanya memiliki load balancer di depan Router Edge. Load balancer memantau port 15999 pada Router untuk memastikan bahwa Rute tersedia.
Konfigurasikan load balancer untuk melakukan health check HTTP atau TCP pada Router menggunakan URL berikut:
http://router_IP:15999/v1/servers/self/reachable
URL ini menampilkan kode respons HTTP 200 jika Router dapat dijangkau.
Untuk membuat Router tidak dapat dijangkau, Anda dapat memblokir port 15999 di Router. Jika load balancer tidak dapat mengakses Router pada port 15999, load balancer tidak lagi meneruskan permintaan ke Router. Misalnya, Anda dapat memblokir port menggunakan perintah iptables berikut pada node Router:
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Untuk membuat Router tersedia di lain waktu, lakukan flush iptable:
sudo iptables -F
Anda mungkin menggunakan iptables untuk mengelola port lain pada node sehingga harus mempertimbangkannya saat melakukan flush iptables atau menggunakan iptables untuk memblokir port 15999. Jika menggunakan iptables untuk aturan lain, Anda dapat menggunakan opsi -D untuk membalikkan perubahan tertentu:
sudo iptables -D INPUT -i eth0 -p tcp --dport 15999 -j REJECT
Melakukan health check Router
Anda dapat melakukan jenis health check berikut di Router:
- Keaktifan: Sinyal ke subsistem pemantauan bahwa subsistem dapat memulai ulang
komponen. Contoh:
To check a router's liveness: http://router_IP:8081/v1/servers/self/up To check a load balancer's liveness: http://router_IP:15999/v1/servers/self/reachable
- Kesiapan: Menentukan apakah router dapat memproses permintaan pelanggan untuk lingkungan tertentu.
Contoh:
To check both a router and MP pool's availability: http://router_IP:15999/{org}__{env}
Untuk mendapatkan status Router, buat permintaan ke port 8081 di Router:
curl -v http://router_IP:8081/v1/servers/self/up
Jika Router aktif, permintaan akan menampilkan "true" dalam respons dan HTTP 200. Perhatikan bahwa panggilan ini hanya memeriksa apakah Router aktif dan berjalan. Kontrol keterjangkauan Router dari load balancer ditentukan oleh port 15999.
Untuk mendapatkan status Pemroses Pesan:
curl http://Message_Processor_IP:8082/v1/servers/self/up