J'utilise une première configuration de consul. Pour cela, j'utilise une image de docker de consul avec le port 8500 mappé à 8500 ainsi je peux l'employer avec succès sur l'installation locale. Je peux accéder au consul au http://localhost:8500.Le serveur de configuration ne se découvre pas lors de la première installation
je la configuration suivante pour le serveur de configuration - pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RC1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Application.yml
server:
port: 8888
spring:
cloud:
config:
server:
git:
uri: https://github.com/xxxxxx/spring-config-repo.git
consul:
host: consul
port: 8500
enabled: true
discovery:
enabled: true
register: true
service-name: configservice
bootstrap.yml
spring:
application:
name: config-server
ConfigServerApplication.java
@EnableConfigServer
@EnableDiscoveryClient
@SpringBootApplication
public class ConfigServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServiceApplication.class, args);
}
}
Quand je lance ce pot, il est réussi. Je peux voir le serveur de configuration en consul ui. Après les détails du serveur de configuration vu de consul-
Request - http://localhost:8500/v1/catalog/services
Response -
{
"configservice": [],
"consul": []
}
Request - http://localhost:8500/v1/catalog/service/configservice
Response -
[
{
"ID": "f6ac953c-07b9-4097-974e-3ea9cd39bec2",
"Node": "a0954c644062",
"Address": "127.0.0.1",
"TaggedAddresses": {
"lan": "127.0.0.1",
"wan": "127.0.0.1"
},
"NodeMeta": {},
"ServiceID": "config-server-8888",
"ServiceName": "configservice",
"ServiceTags": [],
"ServiceAddress": "10.0.0.158",
"ServicePort": 8888,
"ServiceEnableTagOverride": false,
"CreateIndex": 15,
"ModifyIndex": 15
}
]
Je peux aussi accéder au serveur de configuration en utilisant ce uri-
http://localhost:8888/configclient/default
Je application cliente qui utilise les propriétés du serveur de configuration .Mon arrangement est que quand j'exécuterai ce pot, il contactera consul et obtiendra l'information de serveur de config de là et peuplera les propriétés en le récupérant de l'uri donné de git.
Après les détails sur le client - pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-consul-all</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RC1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
bootstrap.yml
spring:
application:
name: myservice
cloud:
config:
fail-fast: true
retry:
max-attempts: 20
initial-interval: 3000
enabled: true
discovery:
enabled: true
service-id: configserver
consul:
host: localhost
port: 8500
discovery:
enabled: true
register: true
service-name: myservice
application.yml
server:
port: 8081
MyServiceApplication.java
@EnableDiscoveryClient
@SpringBootApplication
public class MyServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ApplePaymentServiceApplication.class, args);
}
}
Mais au cours de cette mise en service de ce pot, ce ne est pas en mesure de trouver le serveur de configuration et tombe au lieu de retour sur la uri par défaut. Ceci est la section du journal de démarrage correspondant
2017-03-28 00:40:20.407 WARN 99123 --- [ main] lientConfigServiceBootstrapConfiguration : No instances found of configserver (configserver)
2017-03-28 00:40:20.551 INFO 99123 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource [name='consul', propertySources= . [ConsulPropertySource [name='config/myservice/'], ConsulPropertySource [name='config/application/']]]
2017-03-28 00:40:20.587 INFO 99123 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at: http://localhost:8888
2017-03-28 00:40:21.831 INFO 99123 --- [ main] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=myservice, profiles=[default], label=null, version=null, state=null
2017-03-28 00:40:21.832 INFO 99123 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource [name='configService', propertySources=[MapPropertySource [name='https://github.com/xxxxx/spring-config-repo.git/myservice.yml'], MapPropertySource [name='https://github.com/xxxxx/spring-config-repo.git/application.yml']]]
2017-03-28 00:40:21.841 INFO 99123 --- [ main] c.h.MyServiceApplication : No active profile set, falling back to default profiles: default
Je bricolé avec beaucoup d'options différentes de divers exemples tels que consul first bootstrap with spring cloud config
peut pointer quelqu'un à ce que je pourrais être absent? Tous les pointeurs vers un exemple de travail avec accès aux fichiers application/bootstrap appropriés pour consul, configserver et client seraient très utiles.PS: Je m'excuse pour la surcharge d'information dans la question. Certains d'entre eux pourraient ne pas être pertinents mais je voulais donner autant d'informations que possible afin que quelqu'un puisse repérer quelque chose qu'ils ont déjà rencontré auparavant.
Merci spencer. Je pense que j'ai fait un peu de bricolage et que certains ont laissé avec cette différence des noms et ne l'ont même pas remarqué. Je fonctionne bien maintenant. – Somnath
Que diriez-vous d'accepter la réponse – spencergibb
Je pense que j'ai. Je pense que cogner la coche au vert le fait.je l'ai fait la première chose après que la solution a fonctionné.:) Autre chose que je dois faire en dehors de cela? – Somnath