【SpringCloud Greenwich版本】第一章:服務註冊中心(eureka)

一、SpringCloud版本

本文介紹的Springboot版本爲2.1.1.RELEASE,SpringCloud版本爲Greenwich.RC1,JDK版本爲1.8,集成環境爲IntelliJ IDEA

二、Eureka服務端介紹

要在項目中包含Eureka服務器,請使用組org.springframework.cloud和工件id spring-cloud-starter-eureka-server的啓動器。服務器具有一個帶有UI的主頁,並且根據/eureka/*下的正常Eureka功能的HTTP API端點。

Eureka服務器沒有後端存儲,但是註冊表中的服務實例都必須發送心跳以保持其註冊更新(因此可以在內存中完成)。客戶端還具有eureka註冊的內存緩存(因此,他們不必爲註冊表提供每個服務請求)。

默認情況下,每個Eureka服務器也是一個Eureka客戶端,並且需要(至少一個)服務URL來定位對等體。如果您不提供該服務將運行和工作,但它將淋浴您的日誌與大量的噪音無法註冊對等體。

三、創建Eureka服務中心

  • 3.1創建

首先創建一個module工程,取名爲cloudser,選擇Spring Initializr,下一步
在這裏插入圖片描述設置完項目屬性後,選擇Cloud Discovery,再勾選上Eureka Server,直接完成就可以了
在這裏插入圖片描述創建完成後,pom.xml如下,後續的module工程均以此pom.xml做爲父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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.jthao</groupId>
    <artifactId>cloudser</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>cloudser</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.RC1</spring-cloud.version>
    </properties>

    <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-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>

</project>
  • 3.2啓動

啓動一個eureka服務註冊中心,只需在啓動類上增加@EnableEurekaServer註解即可

package com.jthao.cloudser;

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

@EnableEurekaServer
@SpringBootApplication
public class CloudserApplication {

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

}

eureka server默認也是一個eureka client,所以須在配置文件增加eureka.client.register-with-eureka和eureka.client.fetch-registry來表明自己是一個server,其中serviceUrl指向與本地實例相同的主機

server.port=8001
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
  • 3.3訪問

eureka server是有訪問頁面的,在瀏覽器中輸入http://localhost:8001/即可訪問,可以看到紅框中是沒有服務沒發現,也就是沒有client,下一章會講解服務提供者實現
在這裏插入圖片描述

四、更多文章閱讀

【SpringCloud Greenwich版本】彙總
【JAVA設計模式】彙總

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章