SpringCloud框架搭建(三)搭建Eureka服务注册中心
Spring Cloud Netflix通过自动配置并绑定到Spring Environment和其他Spring编程模型习惯用法,为Spring Boot应用程序提供Netflix OSS集成。通过一些简单的注释,您可以快速启用和配置应用程序内部的通用模式,并使用经过测试的Netflix组件构建大型分布式系统。提供的模式包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon)。
Spring Cloud Netflix功能:
由于Hystrix目前的项目Eureka、Hystrix、Feign进入维护不再更新,可用SpringCloud Alibaba替代(后续更新搭建过程)
服务发现:可以注册Eureka实例,并且客户端可以使用Spring托管的Bean发现实例
服务发现:可以使用声明性Java配置创建嵌入式Eureka服务器
断路器:Hystrix客户端可以使用简单的注释驱动的方法装饰器构建
断路器:具有声明性Java配置的嵌入式Hystrix仪表板
声明式REST客户端:Feign创建一个用JAX-RS或Spring MVC注释修饰的接口的动态实现。
客户端负载均衡器:功能区
外部配置:从Spring Environment到Archaius的桥梁(使用Spring Boot约定启用Netflix组件的本机配置)
路由器和过滤器:Zuul过滤器的自动注册,以及用于反向代理创建的简单配置约定。
创建新的Model
Eureka项目pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloudcrest</artifactId>
<groupId>cloudcrest</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-crest-eureka</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
</project>
项目结构
配置文件application.yml
server:
port: 1001
spring:
application:
name: eureka1001
eureka:
instance:
hostname: ${spring.application.name}
client:
register-with-eureka: false
fetch-registry: false
service-url:
# defaultZone: http://eureka7002.com:7002/eureka/
defaultZone: http://127.0.0.1/eureka/
server:
enable-self-preservation: false #禁用保护模式
eviction-interval-timer-in-ms: 5000
项目主启动类
package com.crest.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
运行主类启动项目
浏览器访问:http://localhost:1001 查看eureka信息面板