Mengaktifkan/menonaktifkan Jangkauan Pesan/Pemroses Pesan

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:

  1. Menonaktifkan keterjangkauan pada Pemroses Pesan.
  2. Mengupgrade Pemroses Pesan.
  3. 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