Anda sedang melihat dokumentasi Apigee Edge.
Buka
Dokumentasi Apigee X. info
Dokumen ini menjelaskan cara memulai ulang Router dan Pemroses Pesan (MP) tanpa memengaruhi traffic API yang masuk. Dalam keadaan tertentu, Anda mungkin harus memulai ulang Router dan MP. Contohnya sebagai berikut:
- Ketika keystore yang secara langsung dirujuk ke dalam host virtual, server target, atau target endpoint diperbarui tanpa menggunakan referensi.
- Saat proxy API di-deploy sebagian pada beberapa anggota parlemen.
Sebelum memulai
Jika Anda belum terbiasa dengan {i>Router<i} dan Pemroses Pesan, baca Ringkasan Edge untuk Private Cloud.
Memulai ulang Router tanpa memengaruhi traffic
Bagian ini menjelaskan langkah-langkah yang digunakan untuk memulai ulang Router tanpa memengaruhi traffic API yang masuk.
- Login ke Router yang perlu dimulai ulang.
-
Blokir port health check di Router menggunakan perintah berikut. Hal ini memastikan bahwa
{i>Router<i} dianggap tidak responsif dan
tidak ada lalu lintas yang akan dirutekan ke {i>Router<i} ini.
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
-
Tunggu selama dua menit untuk memastikan bahwa lalu lintas yang sedang berlangsung dapat ditangani dengan lancar sebelum Anda
memulai ulang {i>Router<i}. Anda dapat melakukannya dengan menjalankan perintah
sleep
sebagai berikut:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Hentikan layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit stop
-
Hentikan layanan Router Apigee sebagai berikut:
apigee-service edge-router stop
-
Mulai layanan Router Apigee sebagai berikut:
apigee-service edge-router start
-
Menunggu hingga layanan Router Apigee dimulai dan siap menangani traffic masuk
menggunakan perintah berikut:
apigee-service edge-router wait_for_ready
-
Mulai layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit start
-
Menghapus tabel IP untuk membuka blokir port health check 15999 dan mengizinkan Router menangani
traffic lagi dengan menjalankan perintah berikut:
sudo iptables -F sudo iptables -L
sudo iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-router stop apigee-service edge-router start apigee-service edge-router wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
Mulai ulang berkelanjutan Pemroses Pesan tanpa dampak traffic
Bagian ini menjelaskan langkah-langkah yang digunakan untuk memulai ulang Pemroses Pesan (MP) tanpa memengaruhi traffic API yang masuk.
- Login ke Pemroses Pesan yang perlu dimulai ulang.
-
Identifikasi port health check Pemroses Pesan menggunakan perintah berikut:
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")'
-
Memblokir port health check (yang diidentifikasi pada langkah 2) di Pemroses Pesan. Hal ini memastikan
Pemroses Pesan dianggap tidak responsif dan tidak ada traffic yang akan dirutekan ke
Pemroses Pesan.
sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT
port # adalah nomor port yang ditampilkan dari perintah yang dilakukan di langkah 2.
-
Tunggu selama dua menit untuk memastikan bahwa lalu lintas yang sedang berlangsung dapat ditangani dengan lancar sebelum Anda
memulai ulang Pemroses Pesan. Anda dapat melakukannya dengan menjalankan perintah
sleep
sebagai berikut:for i in {001..120}; do sleep 1; printf "\r ${i}"; done
-
Hentikan layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit stop
-
Hentikan layanan Pemroses Pesan Apigee sebagai berikut:
apigee-service edge-message-processor stop
- Masukkan layanan Pemroses Pesan Apigee sebagai berikut:
apigee-service edge-message-processor start
-
Tunggu hingga layanan Pemroses Pesan Apigee dimulai dan siap menangani
traffic masuk menggunakan perintah berikut:
apigee-service edge-message-processor wait_for_ready
-
Mulai layanan Apigee Monit sebagai berikut:
apigee-service apigee-monit start
- Menghapus tabel IP untuk berhenti memblokir port health check dan mengizinkan Pemroses Pesan
untuk menangani traffic lagi dengan menjalankan perintah di bawah ini:
sudo iptables -F sudo iptables -L
curl 0:8082/v1/servers/self -s | jq '.tags.property' | jq '.[] | select(.name=="http.port")' sudo iptables -A INPUT -i eth0 -p tcp --dport port # -j REJECT for i in {001..120}; do sleep 1; printf "\r ${i}"; done apigee-service apigee-monit stop apigee-service edge-message-processor stop apigee-service edge-message-processor start apigee-service edge-message-processor wait_for_ready apigee-service apigee-monit start sudo iptables -F sudo iptables -L
port # adalah nomor port yang ditampilkan dari perintah yang dilakukan di langkah 2.