0%

Spring Cloud Netflix

Spring Cloud Netflix

** 2.1.1.BUILD-SNAPSHOT **
项目通过自动配置和绑定到Spring环境以及其他Spring编程风格,为Spring Boot应用程序提供Netflix OSS集成。通过一些简单的注释,您可以快速启用和配置应用程序中的常见模式,并通过实战检验Netflix 组件构建大型分布式系统。提供的模式包括服务发现( Eureka )、断路器( Hystrix )、智能路由( Zul )和客户端负载平衡( Ribbon )。

服务发现: Eureka 客户端

服务发现是基于微服务架构的关键原则之一。尝试手动配置每个客户端或某种形式的约定可能很难做到,也可能会很脆弱。Eureka 是 基于Netflix 服务发现的服务端和客户端。每个服务端通过向其他服务端注册服务,服务端可以被配置和部署为高可用的。

如何包含Eureka客户端

使用group ID 为 org.springframework.cloud 和 artifact ID 为 spring-cloud-starter-netflix-eureka-client 的 starter 可以在你的项目中包含 Eureka 客户端。使用当前版本的Spring Cloud Release Train构建系统的详细信息,请参考Spring Cloud Project page

注册Eureka

当客户机注册到Eureka时,它提供有关自身的元数据——例如主机、端口、健康指示器URL、主页和其他详细信息。Eureka从属于服务的每个实例接收心跳消息。如果心跳在可配置的时间表上失败,则实例通常会从注册表中删除。
以下示例显示了一个最小的Eureka客户端应用程序:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@SpringBootApplication
@RestController
public class Application {

@RequestMapping("/")
public String home() {
return "Hello world";
}

public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}

}

```
请注意,前面的示例显示了一个普通的Spring Boot应用程序。通过在类路径中配置`spring-cloud-starter-netflix-eureka-client`你的应用会自动注册到Eureka服务,前提是配置文件中已经配置Eureka Server,如下例所示:
** application.yml. **

eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/

在前面的例子中,"defaultZone"为任何不表达偏好的客户端提供服务URL(换句话说,这是一个有用的默认值)。