05-服务注册与发现总结
服务注册与发现总结
使用方面的区别
注册中心
(1)Eureka
-
搭建注册中心
- 引入pom依赖
spring-cloud-starter-netflix-eureka-server
- 配置EurekaServer的 yml
- 启动类上添加注解
@EnableEurekaServer
激活Eureka Server端配置
- 引入pom依赖
-
服务注册
- 服务提供者引入
spring-cloud-starter-netflix-eureka-client
依赖 - yml 通过
eureka.client.serviceUrl.defaultZone
配置注册中心地址
- 服务提供者引入
(2)Consul
- 搭建注册中心
- 下载安装consul,并配置环境变量
- cmd 到安装目录,输入
consul agent -dev
启动
- 服务注册
- 服务提供者引入
spring-cloud-starter-consul-discovery
依赖 - yml 通过
spring.cloud.consul.host
和spring.cloud.consul.port
指定Consul Server的请求地址
- 服务提供者引入
服务调用
(1)Ribbon
- 通过Ribbon结合RestTemplate方式进行服务调用只需要在声明RestTemplate的方法上添加注解@LoadBalanced即可
- yml中可以通过
{服务名称}.ribbon.NFLoadBalancerRuleClassName
配置负载均衡策略
(2)Feign
- 服务消费者引入
spring-cloud-starter-openfeign
依赖 - 通过
@FeignClient
声明一个调用远程微服务接口 - 启动类上添加注解
@EnableFeignClients
激活Feign