Aller au contenu

Configuration du peering

Guide pas-à-pas pour configurer le partage de cache entre deux instances Stream Fusion.


Prérequis

  • Deux instances Stream Fusion accessibles mutuellement via HTTP(S)
  • PEER_MASTER_KEY configuré sur les deux instances
  • SECRET_API_KEY sur chaque instance

Étape 1 : Créer une PeerKey sur l'Instance A

Sur l'Instance A (celle qui partage son cache) :

  1. Allez sur https://instance-a.example.com/admin/
  2. Authentifiez-vous avec SECRET_API_KEY
  3. Peer KeysCréer une PeerKey
  4. Nommez-la (ex: Instance-B)
  5. Configurez le rate limiting
  6. Copiez immédiatement le key_id et le secret
curl -X POST https://instance-a.example.com/admin/create-peer-key \
  -H "secret-key: VOTRE_SECRET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Instance-B"}'

Secret à usage unique

Le secret n'est affiché qu'une seule fois. Si vous le perdez, il faudra révoquer la clé et en recréer une.


Étape 2 : Créer une PeerInstance sur l'Instance B

Sur l'Instance B (celle qui importe le cache) :

  1. Allez sur https://instance-b.example.com/admin/
  2. Peer InstancesCréer une PeerInstance
  3. Remplissez :
Champ Valeur
Nom Instance-A (descriptif)
URL https://instance-a.example.com
Key ID Le key_id copié à l'étape 1
Secret Le secret copié à l'étape 1
Actif
Sync activé
Cron 0 */6 * * * (toutes les 6h)
  1. Cliquez sur Tester la connexion pour vérifier

Étape 3 : Configurer la sync

La PeerInstance aura automatiquement une tâche de synchronisation planifiée selon le cron défini.

Modifiez le cron depuis le panneau d'administration → Peer Sync, ou changez PEER_SYNC_DEFAULT_CRON dans l'environnement.


Étape 4 (optionnel) : Peering bidirectionnel

Pour que l'Instance A importe aussi le cache de B, répétez les étapes 1-2 en inversant les rôles :

  1. Créez une PeerKey sur B pour A
  2. Créez une PeerInstance sur A pointant vers B
graph LR
 A["Instance A"] -->|"Sync →"| B["Instance B"]
 B -->|"Sync →"| A

 style A fill:#311b92,color:#fff
 style B fill:#1b5e20,color:#fff

Monitoring

Depuis le panneau d'administration → Peer Sync :

  • Démarrer une sync manuellement
  • Arrêter une sync en cours
  • Purger les données importées d'un pair
  • Voir les logs de synchronisation

Dépannage

La connexion échoue
  • Vérifiez que les deux instances sont accessibles mutuellement
  • Vérifiez le firewall
  • Utilisez le bouton Tester la connexion dans l'admin
Erreurs 429 (rate limiting)
  • Augmentez rate_limit et rate_window dans la PeerKey
  • Ou diminuez la fréquence du cron de sync
Données non indexées
  • Vérifiez que Meilisearch fonctionne
  • Consultez les logs du Taskiq Worker