Maison >Java >javaDidacticiel >Explication détaillée d'exemples d'enregistrement de services et de découverte de 'microservices'
Cet article présente principalement des exemples d'enregistrement et de découverte de services SpringBoot, qui ont une certaine valeur de référence. Les amis intéressés peuvent s'y référer
Microservices
Pratiquer les « microservices » naturellement. nécessite d'apprendre à effectuer l'enregistrement et la découverte de services
Pour apprendre les microservices basés sur SpringBoot, il est naturel de choisir SpringCloud, qui lui est étroitement lié, bien sûr, vous pouvez choisir d'autres technologies, telles que. en tant que dubbo
, vous pouvez également utiliser zookeeper pour implémenter l'enregistrement et la découverte du service Quant à savoir si zookeeper est bon ou mauvais pour implémenter cette fonction, chacun a sa propre opinion
SpringCloud
Spring Cloud fournit des outils permettant aux développeurs de créer rapidement certains des modèles courants dans les systèmes distribuésInscription et découverte des services
Module SpringCloudspring-cloud-starter-eureka-serverCentre d'enregistrement des services
Créer un module de découverte et introduire la dépendance spring-cloud-starter-eureka-server dans build.gradleapply plugin: 'org.springframework.boot' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion } } repositories { mavenCentral() } dependencies { compile ('org.springframework.cloud:spring-cloud-starter-eureka-server') } jar { baseName = 'discovery-bootcwenao' }Fournir un service de centre d'inscription via l'annotation @EnableEurekaServer
/** * @author cwenao * @version $Id DiscoveryBootcwenaoApplication.java, v 0.1 2017-01-12 9:56 cwenao Exp $$ */ @EnableEurekaServer @SpringBootApplication public class DiscoveryBootcwenaoApplication { public static void main(String[] args) { new SpringApplicationBuilder(DiscoveryBootcwenaoApplication.class).web(true).run(args); } }application.yml configurer eureka
server: port: 8761 eureka: instance: hostname: discovery client: registerWithEureka: false fetchRegistry: false service-url: defaultZone: http://discovery:${server.port}/eureka/Visitez localhost:8761
Enregistrement du service
Créez un module de service et introduisez spring-cloud-starter-eureka dans build.gradleapply plugin: 'org.springframework.boot' dependencyManagement { imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion } } dependencies { compile('org.springframework.cloud:spring-cloud-starter-eureka') compile('org.springframework.cloud:spring-cloud-stream') } sourceSets { main { resources.srcDirs = ['src/main/resources', 'src/main/java'] resources.includes = ['**/*.xml', '**/*.yml'] } } jar { baseName = 'apigateway-bootcwenao' }Enregistrez le service en annotant @EnableDiscoveryClient
@SpringBootApplication @EnableDiscoveryClient public class ApiGatewayBootcwenaoApplication { public static void main(String[] args) { SpringApplication.run(ApiGatewayBootcwenaoApplication.class, args); } }application .yml Configurer les attributs eureka
server: port: 10002 spring: application: name: apigateway eureka: client: registerWithEureka: true fetchRegistry: true serviceUrl: defaultZone: http://localhost:8761/eureka/Une fois l'enregistrement terminé, vous pouvez accéder au service via la configuration de spring.application.name Visitez localhost:8761 et constatez que le service est déjà enregistré Inscrivez-vous sur le centre
Le centre d'enregistrement du service permet le nom d'utilisateur et le mot de passe
en configurant le nom d'utilisateur et le mot de passe applicaiton.ymlsecurity: basic: enabled: true user: name: aa password: abcdConfigurer l'application.yml du fournisseur de services
eureka: instance: hostname: configserver prefer-ip-address: true client: registerWithEureka: true fetchRegistry: true service-url: defaultZone: http://aa:abcd@localhost:8761/eureka/[Recommandations associées]1 2. 3
Analyse complète des annotations Java.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!