3 Réponses :


0
votes

Pour actualiser vos propriétés de configuration à toutes vos microservices que vous pouvez envoyer des messages de courtier (Spring Cloud Bus) à travers que vous pouvez publier les modifications à toutes vos microservices.

Référence:

https://springbootDev.com/2018/07/17/spring-cloud-config-refreshing-the-config-changes-with-spring-cloud-bus-par-2/


6 commentaires

Nous avons déjà une implémentation pour recevoir une gâchette dans l'instance de service, qu'une modification de configuration aurait pu se produire. Nous devons simplement savoir, comment déclencher de manière programmable l'instance ensuite pour contacter la configuration et récupérer la nouvelle config (qui fonctionne via http nous pensons).


Ouais c'est juste un appel http. Ensuite, Ajoutez une classe @Component dans votre serveur de configuration et ajoutez un @postConstruct méthode. Dans cette méthode récupère tous les services de la découverte de service à l'aide du client de découverte et appuyez sur le point d'extrémité d'actualisation dans tous les microservices spécifiques.


Mais comment pouvons-nous déclencher cet appel de l'instance du client au serveur de configuration programmatique (essentiellement de quoi / actualiser sur le point d'extrémité de l'actionneur ferait)?


/ Rafraîchir le point de terminaison fera appel au serveur de configuration, de sorte que les propriétés nouvellement mises à jour résident sur votre microservice.


Ouais, mais pouvons-nous éviter d'utiliser le point de terminaison / Actualiser ? Pouvons-nous déclencher de manière programmable la même chose que fait ce point final? Savez-vous quel haricot nous devons injecter et utiliser ici?


La juste chose que pouvez-vous faire cela, sans appeler le serveur de configuration après avoir appelé le serveur de configuration, vous obtiendrez la dernière configuration L configurée de celle de celle-ci.



1
votes

rafraîchissantpoint Bean peut être autonome et utilisé pour rafraîchir les configurations de cloud


0 commentaires

1
votes

Vous pouvez tirer un RefrayRevent code> à l'aide d'un ApplicationEventPublisher code>. Spring Cloud a un auditeur pour cet événement dans RefreshEventListener CODE>

@Autowired
private ApplicationEventPublisher eventPublisher;

public void fireRefreshEvent() {
  eventPublisher.publishEvent(new RefreshEvent(this, "RefreshEvent", "Refreshing scope");
}


0 commentaires