Java 一直在发展,到目前阶段,spring cloud 算是这个领域最上乘的武功,正如一派武功有多个板块,拳、脚、刀、剑等等,spring cloud 也由多个板块组成,每个板块都有它独当一面的特性,它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。
本文说说 服务发现(Eureka),发音 “尤里卡”。一个军队可能由多个部队组成,陆军一队,陆军二队,海军一队,海军二队,空军战队等等,那么你是大元帅,你想知道哪些部队已准备就绪,想调动他们出战,怎么办呢?就要有个机构,盘点各部队的状态。如果把你的各个子系统当做部队,那么Eureka 就是那个盘点机构。
简洁的说一下一个Eureka 注册中心 怎么搭建。
(1)如下图,搭建一个普通的maven项目。红框的是必要的,其他是非必要的(测试用)。
(2)把红框部分的代码贴出来。
pom.xml
<?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">
<modelVersion>4.0.0</modelVersion>
<!--设置系统名称-->
<groupId>zhihao-springCloud</groupId>
<artifactId>eureka-center</artifactId>
<version>1.0-SNAPSHOT</version>
<!--设置系统属性-->
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--引入eureka-server-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<!--声明spring-cloud的版本-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
application.properties
spring.application.name=eureka-server
server.port=1001
eureka.instance.hostname=localhost
#禁用它的客户端注册行
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
启动类 EurekaServerApplication
package com.zhihao;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication{
public static void main(String[] args) {
new SpringApplicationBuilder(EurekaServerApplication.class)
.web(true).run(args);
}
}
(3)启动,并访问 http://localhost:1001/ (对照你自己的 application.properties),看到下图成功