这篇文章将为大家详细讲解有关使用SpringBoot如何实现注册与发现服务,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
<强>微服务强>
实践“微服务”自然要学习如何做服务注册与发现
基于SpringBoot来进行微服务的学习,自然选择了与之息息相关的SpringCloud;当然可以选择其他的技术进行,比如达博
也可以用管理员来实现服务注册与发现,至于管理员来实现此功能好还是不好,各家之言都有
<强> SpringCloud 强>
春云为开发人员提供了工具来快速构建分布式系统中一些常见的模式.SpringCloud
SpringCloud包含了分布式/版本配置分布式/版本配置等很多子项目。
- <李>分布式/版本配置李> <李>服务注册和发现李> <>李路由李> <李> Service - to - Service调用李> <李>负载平衡李> <李>断路器李> <李> 李> <李>全球锁领导人选举和集群状态李> <李>分布式消息
李,>
<强>服务注册与发现强>
SpringCloud模块
spring-cloud-starter-eureka-server
工程模块
- <李>服务注册中心李> <>李服务模块李>
<强>服务注册中心强>
创建发现模块,并在构建。gradle中引入spring-cloud-starter-eureka-server依赖
应用插件:& # 39;org.springframework.boot& # 39; dependencyManagement { 进口{ mavenBom“org.springframework.cloud: spring-cloud-dependencies:“+ springCloudVersion } } 存储库{ mavenCentral () } 依赖关系{ 编译(& # 39;org.springframework.cloud: spring-cloud-starter-eureka-server& # 39;) } jar { baseName=& # 39; discovery-bootcwenao& # 39; }
通过注解@EnableEurekaServer提供注册中心服务
/* * * @author cwenao * DiscoveryBootcwenaoApplication @version $ Id。java 0.1 v 2017-01-12 9:56) cwenao Exp $ $ */@EnableEurekaServer @SpringBootApplication 公开课DiscoveryBootcwenaoApplication { 公共静态void main (String [] args) { 了对新SpringApplicationBuilder (DiscoveryBootcwenaoApplication.class) web这类(真正的).run (args); } }
应用程序。yml配置尤里卡属性
服务器: 端口:8761 尤里卡: 实例: 主机名:发现 客户: registerWithEureka:假 fetchRegistry:假 服务url: defaultZone: http://discovery: ${服务器。港口}/尤里卡/
访问http://localhost: 8761
应用插件:& # 39;org.springframework.boot& # 39; dependencyManagement { 进口{ mavenBom“org.springframework.cloud: spring-cloud-dependencies:“+ springCloudVersion } } 依赖关系{ 编译(& # 39;org.springframework.cloud: spring-cloud-starter-eureka& # 39;) 编译(& # 39;org.springframework.cloud: spring-cloud-stream& # 39;) } sourceSets { 主要{ 资源。srcdir=[& # 39; src/main/资源# 39;,& # 39;src/main/java # 39;】 资源。包括=[& # 39;* */* . xml # 39;, & # 39; * */* .yml& # 39;】 } } jar { baseName=& # 39; apigateway-bootcwenao& # 39; }
通过注解@EnableDiscoveryClient进行服务注册
@SpringBootApplication @EnableDiscoveryClient 公开课ApiGatewayBootcwenaoApplication { 公共静态void main (String [] args) { SpringApplication.run (ApiGatewayBootcwenaoApplication.class, args); } }
应用程序。yml配置尤里卡属性
服务器: 端口:10002 春天: 应用程序: 名称:apigateway 尤里卡: 客户: registerWithEureka:真 fetchRegistry:真 serviceUrl: defaultZone: http://localhost: 8761/尤里卡/
注册完成后,可以通过spring.application.name的配置来访问该服务
访问http://localhost: 8761发现服务已经在注册中心上注册
安全: 基本: 启用:真 用户: 名称:aa 密码:abcd