ediverse Explorer la plateforme

À la une PEPPOL BIS Billing 3.0 L’obligation européenne d’e-invoicing arrive : France sept 2026, Belgique janv 2026, Allemagne 2025.

Control Bus

Le canal admin parallèle au canal métier — gérer les composants à chaud.

Problème

Comment piloter à chaud un hub EDI distribué — relancer un parser, vider une queue, désactiver un partenaire en panne, sans redéployer ?

Forces

  • Mélanger contrôle et données pollue les deux flux.
  • Le contrôle doit être audité (qui a redémarré quoi ?).
  • Le contrôle doit être typé (impossible d'envoyer une commande mal formée).
  • Les composants doivent pouvoir refuser une commande (sécurité, état incompatible).

Solution

Définir un Control Bus distinct des canaux métier — typiquement un topic Kafka edi.control ou un broker dédié. Les composants s'y abonnent en plus de leur canal métier. Messages typés (StartCommand, StopCommand, ReloadConfig, HealthCheck, MetricsRequest). RBAC strict — seuls les opérateurs autorisés peuvent publier.

Implémentation EDI

En EDI, le Control Bus est utilisé pour : recharger des mappings sans redémarrage, suspendre/reprendre un partenaire pendant maintenance, déclencher des dumps de métriques, lancer des replays sélectifs. Implémentation : topic Kafka edi.control avec messages JSON typés, abonnés via le même framework (Camel, Spring Cloud Stream) mais avec ACL séparée.

Anti-patterns

  • Control Bus ouvert sans authentification — n'importe qui peut tuer le hub.
  • Contrôle synchrone à temps long — bloquer la conversation pendant un health-check.
  • Pas de logs audit — impossible de tracer qui a fait quoi.

Patterns liés

Sources