Mengaktifkan/menonaktifkan Jangkauan Pesan/Pemroses Pesan

Sebaiknya nonaktifkan keterjangkauan pada server selama pemeliharaan, seperti seperti ketika server dimulai ulang atau di-{i>upgrade <i}server. Jika keterjangkauan dinonaktifkan, tidak ada traffic yang diarahkan ke server tertentu. Misalnya, saat keterjangkauan dinonaktifkan di Pemroses Pesan, Router tidak akan mengarahkan lalu lintas apa pun ke Pemroses Pesan tersebut.

Misalnya, untuk mengupgrade Pemroses Pesan, Anda dapat menggunakan prosedur berikut:

  1. Nonaktifkan keterjangkauan di Pemroses Pesan.
  2. Upgrade Pemroses Pesan.
  3. Aktifkan keterjangkauan di Pemroses Pesan.

Menonaktifkan/mengaktifkan keterjangkauan aktif 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 memproses pesan yang tertunda terlebih dahulu sebelum dinonaktifkan. Yang baru 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 Message Pemroses siap memproses pesan:

Checking if message-processor is up: message-processor is up.

Menonaktifkan/mengaktifkan keterjangkauan di {i>Router<i}

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.

Agar Router tidak dapat dijangkau, Anda dapat memblokir port 15999 di Router. Jika load balancer karena tidak dapat mengakses {i>Router<i} di porta 15999, {i>router<i} tidak lagi meneruskan permintaan ke {i>Router<i}. Sebagai misalnya, Anda dapat memblokir port menggunakan perintah iptables berikut di node Router:

sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT

Agar nanti Router tersedia, hapus iptable:

sudo iptables -F

Anda mungkin menggunakan {i>iptables<i} untuk mengelola porta lain pada {i>node<i} jadi Anda harus memasukkannya pertimbangan saat Anda membersihkan iptables atau menggunakan {i>iptables<i} untuk memblokir porta 15999. Jika Anda 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 pada 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" respons dan HTTP 200. Perhatikan bahwa hanya memeriksa apakah {i>Router<i} sudah aktif dan berjalan. Kontrol keterjangkauan {i>Router<i} dari load balancer ditentukan oleh port 15999.

    Untuk mendapatkan status Pemroses Pesan:

    curl http://Message_Processor_IP:8082/v1/servers/self/up