PHP Editor Apple membawakan anda pengenalan tentang tindak balas ralat titik akhir berjujukan KrakenD. KrakenD ialah gerbang API berprestasi tinggi, tetapi anda mungkin menghadapi beberapa ralat semasa penggunaan. Antaranya, tindak balas ralat titik akhir berurutan adalah masalah biasa. Artikel ini akan menerangkan secara terperinci punca dan penyelesaian tindak balas ralat titik akhir berjujukan untuk membantu anda menangani masalah ini dengan lebih baik dan meningkatkan kestabilan dan prestasi get laluan API.
versi krakend: 2.2.1 versi go: go1.19.3
Saya mahu menggunakan fungsi berjujukan krakend untuk menghantar permintaan berurutan ke dua titik akhir yang berbeza.
Ringkasan ringkas kes saya:
Contoh titik akhir berurutan:
{ "endpoint": "/companies/validate", "method": "GET", {{ include "input_headers.txt" }}, "backend": [ { "host": ["{{ .service.credential_service_url }}"], "url_pattern": "/tokens/validate", "method": "GET", "extra_config": { "backend/http": { "return_error_code": true } } }, { "host": ["{{ .service.company_service_url }}"], "url_pattern": "/companies/{resp0_companyId}/validate", "method": "GET", "extra_config": { "backend/http": { "return_error_code": true } } } ], "extra_config": { "proxy": { "sequential": true } } }
log idea
balas posmen
Seperti yang anda lihat, perkhidmatan pertama berfungsi dengan baik, perkhidmatan kedua mengembalikan ralat, tetapi respons posmen mengembalikan kejayaan.
Ini adalah kelakuan yang dijangkakan oleh KrakenD.
Apabila anda membuat beberapa panggilan, KrakenD akan mengembalikan apa sahaja yang tersedia bersama-sama dengan 200 kod status jika sekurang-kurangnya satu permintaan berjaya. Tetapi sebagai pertukaran, anda mendapat tajuk X-KrakenD-Complete: false
memberitahu anda bahawa ada sesuatu yang gagal. Anda boleh membaca lebih lanjut mengenai pengagregatan di sini p>
Memandangkan anda menggunakan proksi berjujukan, apabila permintaan pertama gagal, tidak perlu melakukan apa-apa lagi kerana panggilan berjujukan seterusnya akan dibatalkan secara automatik. Jadi semuanya gagal dan KrakenD tidak dapat mengembalikan apa-apa, itulah sebabnya anda mendapat kegagalan yang anda inginkan.
Dalam kes lain, sejak panggilan pertama berfungsi, KrakenD mempunyai sesuatu untuk dikembalikan dan anda menerima data separa.
Anda harus menyemak kandungan pengepala X-KrakenD-Complete pelanggan anda untuk memutuskan perkara yang perlu dilakukan
Atas ialah kandungan terperinci Sambutan ralat titik akhir berjujukan KrakenD. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!