1. 程式人生 > >1、eureka註冊中心單機

1、eureka註冊中心單機

src -- prope 服務 fin boot.s snap proc pom

公眾號:java樂園
源碼: https://gitee.com/hjj520/spring-cloud-2.x

一、簡介
Spring Cloud Eureka是Spring Cloud Netflix項目下的服務治理模塊。而Spring Cloud Netflix項目是Spring Cloud的子項目之一,主要內容是對Netflix公司一系列開源產品的包裝,它為Spring Boot應用提供了自配置的Netflix OSS整合。通過一些簡單的註解,開發者就可以快速的在應用中配置一下常用模塊並構建龐大的分布式系統。它主要提供的模塊包括:服務發現(Eureka),斷路器(Hystrix),智能路由(Zuul),客戶端負載均衡(Ribbon)等。

1、 新建一個maven項目:sc-eureka-server,其pom.xml配置如下:

<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>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>
        <!-- 
        <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka-server</artifactId>
                <version>1.4.5.RELEASE</version>
        </dependency> 
        -->
        <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
                <version>2.0.1.RELEASE</version>
        </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為

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-eureka-server</artifactId>
        <version>1.4.5.RELEASE</version>
</dependency>

在http://mvnrepository.com中央倉庫spring-cloud-starter-eureka-server已經被標誌為過期,推薦使用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:
        #由於該應用為註冊中心,所以設置為false,代表不向註冊中心註冊自己
        registerWithEureka: false
        #由於註冊中心的職責就是維護服務實例,它並不需要去檢索服務,所以也設置為false
        frechRegistry: false
        serviceUrl:
            defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

備註:也可以使用application-dev.yml配置文件,但是添加如下配置:-Dspring.profiles.active=dev
技術分享圖片

3、 編寫啟動程序

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }

}

4、 啟動程序,並驗證啟動成功
方式一:
技術分享圖片
方式二:

技術分享圖片

1、eureka註冊中心單機