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_KEYconfiguré sur les deux instancesSECRET_API_KEYsur chaque instance
Étape 1 : Créer une PeerKey sur l'Instance A¶
Sur l'Instance A (celle qui partage son cache) :
- Allez sur
https://instance-a.example.com/admin/ - Authentifiez-vous avec
SECRET_API_KEY - Peer Keys → Créer une PeerKey
- Nommez-la (ex:
Instance-B) - Configurez le rate limiting
- Copiez immédiatement le
key_idet lesecret
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) :
- Allez sur
https://instance-b.example.com/admin/ - Peer Instances → Créer une PeerInstance
- 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) |
- 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 :
- Créez une PeerKey sur B pour A
- 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_limitetrate_windowdans 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