项目地址: https://github.com/youximao/springcloud.git
- eureka是包含rest服务和ribbn 负载均衡的组件
eureka 注册
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
@EnableEurekaServer 即可
使用http://localhost:5001 即可访问
默认情况下,Eureka使用客户端心跳来确定客户端是否启动。除非另有规定,否则发现客户端将不会根据Spring Boot执行器传播应用程序的当前运行状况检查状态。这意味着成功注册后Eureka将永远宣布申请处于“UP”状态。通过启用Eureka运行状况检查可以改变此行为,从而将应用程序状态传播到Eureka。因此,每个其他应用程序将不会在“UP”之外的状态下将流量发送到应用程序
eureka.client.healthcheck.enabled=true
服务提供方:
server:
port: 5011
spring:
application:
name: fuwu # 很重要的
eureka:
client:
service-url:
defaultZone: http://localhost:5001/eureka/
@EnableEurekaClient
即可
eureka 消费
Spring Cloud支持Feign(REST客户端构建器),还支持Spring RestTemplate使用逻辑Eureka服务标识符(VIP)而不是物理URL
Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
@EnableDiscoveryClient
@EnableFeignClients
//进行消费者注册
eureka:
client:
service-url:
defaultZone: http://localhost:5001/eureka/
//和服务提供者形式相同
@FeignClient(value = "fuwu")
public interface FuwuService {
@RequestMapping("/fuwu/getName")
public Object getName();
}
发表回复