springCloud之eureka

项目地址: https://github.com/youximao/springcloud.git

  1. 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();
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注