一、簡介
Spring Cloud Eureka是Spring
Cloud Netflix項目下的服務(wù)治理模塊。而Spring
Cloud Netflix項目是Spring Cloud的子項目之一幸冻,主要內(nèi)容是對Netflix公司一系列開源產(chǎn)品的包裝,它為Spring
Boot應(yīng)用提供了自配置的Netflix
OSS整合咳焚。通過一些簡單的注解洽损,開發(fā)者就可以快速的在應(yīng)用中配置一下常用模塊并構(gòu)建龐大的分布式系統(tǒng)。它主要提供的模塊包括:服務(wù)發(fā)現(xiàn)(Eureka)革半,斷路器(Hystrix)碑定,智能路由(Zuul),客戶端負(fù)載均衡(Ribbon)等又官。
1延刘、? ? ? ?新建一個maven項目:sc-eureka-server,其pom.xml配置如下:
<projectxmlns="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>spring-cloud</groupId>
?? <artifactId>sc-eureka-server</artifactId>
?? <version>0.0.1-SNAPSHOT</version>
?? <packaging>jar</packaging>
?? <name>sc-eureka-server</name>
?? <url>http://maven.apache.org</url>
?? <parent>
????? <groupId>org.springframework.boot</groupId>
????? <artifactId>spring-boot-starter-parent</artifactId>
????? <version>2.0.4.RELEASE</version>
?? </parent>
?? <dependencyManagement>
????? <dependencies>
??????? <dependency>
?????????? <groupId>org.springframework.cloud</groupId>
?????????? <artifactId>spring-cloud-dependencies</artifactId>
?????????? <version>Finchley.RELEASE</version>
?????????? <type>pom</type>
??????? </dependency>
????? </dependencies>
?? </dependencyManagement>
?? <properties>
????? <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
????? <maven.compiler.source>1.8</maven.compiler.source>
????? <maven.compiler.target>1.8</maven.compiler.target>
?? </properties>
?? <dependencies>
????? <!--
????? ???org.springframework.cloud
????? ??? spring-cloud-starter-eureka-server
????? ???1.4.5.RELEASE
????? -->
????? <dependency>
????? ??? <groupId>org.springframework.cloud</groupId>
????? ???spring-cloud-starter-netflix-eureka-server
????? ???2.0.1.RELEASE
????? </dependency>
?? </dependencies>
</project>
備注:
?????? 主要引入eureka server所需的starter
<dependency>
??????? <groupId>org.springframework.cloud</groupId>
????? ?? <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
????? </dependency>
Spring Cloud 1.x之前的eureka server的starter為
???org.springframework.cloud
???spring-cloud-starter-eureka-server
???1.4.5.RELEASE
在http://mvnrepository.com中央倉庫spring-cloud-starter-eureka-server已經(jīng)被標(biāo)志為過期六敬,推薦使用spring-cloud-starter-netflix-eureka-server
2碘赖、? ?添加配置文件bootstrap.yml或者application.yml
spring:
? application:
??? name:sc-eureka-server
server:
? port: 5001
eureka:
? instance:
??? hostname:127.0.0.1
? client:
??? #由于該應(yīng)用為注冊中心,所以設(shè)置為false,代表不向注冊中心注冊自己
??? registerWithEureka: false
??? #由于注冊中心的職責(zé)就是維護(hù)服務(wù)實例,它并不需要去檢索服務(wù),所以也設(shè)置為false
??? frechRegistry: false
??? serviceUrl:
????? defaultZone:http://${eureka.instance.hostname}:${server.port}/eureka/
備注:也可以使用application-dev.yml配置文件,但是添加如下配置:-Dspring.profiles.active=dev
3外构、? ?編寫啟動程序
importorg.springframework.boot.SpringApplication;
importorg.springframework.boot.autoconfigure.SpringBootApplication;
importorg.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication
{
?? public static void main(String[] args) {
????? SpringApplication.run(EurekaServerApplication.class, args);
?? }
}
4崖疤、 啟動程序,并驗證啟動成功
方式一:
方式二: