flexway
FRENParler à un expert

Dépannage : plan asynchrone

Publications, abonnements, isolation des canaux et chiffrement par champ : le symptôme, sa cause et quoi faire.

DépannageExploitationDepuis la version 1.5.0

Markdown

Sur cette page

Guide d'exploitation : configurer, déployer et observer la passerelle. Ce que fait la fonctionnalité côté produit : guide produit ; l'appeler : guide développeur.

Les refus et erreurs de l'écouteur Kafka (clients Kafka natifs) ont leur propre tableau : Clients Kafka : référence.

Publier et consommer

Symptôme Cause Action
POST d'une porte x-flexway-publish : 504 upstream_timeout Le courtier n'a pas accusé dans le budget : issue inconnue, le message a pu être écrit Renvoyer avec la même Idempotency-Key ; vérifier la santé du courtier, élargir timeout
503 overloaded sur une publication Le tampon max_in_flight du courtier est plein : il accuse moins vite qu'on ne publie Lire flexway_async_publish_duration_seconds ; relever max_in_flight ou la capacité du courtier
502 upstream_error sur une publication Le courtier a refusé : ACL, sujet absent (la passerelle n'en crée jamais), message rejeté ; AMQP : aucune file ne prend le message Créer le sujet du tenant, accorder l'écriture au principal de la passerelle, lier une file à l'échange
Démarrage refusé : is consumed and isolates no tenant Une consommation sur un canal ni lié au tenant, ni filtré sur l'en-tête tenant x-flexway-bind: tenant sur un paramètre du canal, ou l'en-tête tenant dans headers de chaque message
Un abonné WebSocket reçoit un message deux fois Au moins une fois : pas d'accusé dans ack_timeout, ou une coupure avant l'accusé Accuser chaque id ({"ack": "<id>"}) ; dédupliquer sur source + id
Démarrage refusé : reads the schema registry's wire format and is isolated by the tenant attribute alone Une consommation d'un canal au format filaire du registre filtrée sur l'attribut tenant, sans liaison : les messages d'un producteur Kafka ordinaire n'ont aucun attribut Lier le canal au tenant (x-flexway-bind: tenant, adresse {tenant}.<sujet>), ou le déclarer public (x-flexway-public: true)

Chiffrement par champ

Symptôme Cause Action
Démarrage refusé : kms.key "...": kms key absent or unusable La clé du chiffrement par champ n'existe pas au KMS (faute de frappe) ou ne peut pas envelopper (clé Vault non dérivée) Corriger kms.key ou créer la clé - Chiffrement par champ
Consommateurs Kafka en CORRUPT_MESSAGE après un changement de kms.key Les enregistrements écrits avant nomment l'ancienne clé La déclarer dans kms.previous_keys - Chiffrement par champ

Étapes suivantes