SpringCloud集成Eureka(SpringCloud學習二)

SpringCloud集成Eureka

​ 下面就開始簡單的寫一個demo,先把組件慢慢都集成進來,先集成Eureka。

創建父模塊

​ 父模塊需要創建maven項目,這裏沒有找到基礎的方法,就是不使用任何IDE去生成項目,所以最後無奈只能使用IDEA來生成這些項目。

​ 首先選擇maven,再輸入自己項目的信息。

image-20200602152019621

image-20200602141047248

​ 輸入完成後,刪除src目錄,只保留一個pom文件,加入SpringBoot依賴即可。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.8.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

創建Eureka服務註冊中心

​ 新建一個模塊,根據spring的配置添加相應的依賴即可。這裏需要注意一下。

​ 我的IDE不知道抽什麼風,一直連接不上springio,IDEA的代理配置能測試成功,但是到創建模塊時死活不行,修改代理、用VPN、改地址爲http,網上能找到的方法都試了,還是不行。最後放棄了,用的阿里雲的spring鏡像服務器。如下:

image-20200602142009357

​ 中間有些步驟我給省略了,沒有什麼可講的地方,下面就是選擇依賴。

image-20200602142110037

​ 後面就創建成功了,修改Eureka的配置即可。修改如下。

pom文件

​ pom文件需要修改父類依賴指向,指向剛纔創建的父模塊。EurekaServer依賴剛纔創建模塊的時候就已經導入了,不需要了。另外,看自己的需求導入健康檢查依賴,這裏我沒有使用,就沒有導入。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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.psq</groupId>
        <artifactId>ssodemo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>com.psq</groupId>
    <artifactId>eureka</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>eureka</name>
    <description>this is Eureka Server</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
    </properties>

    <dependencies>
        <!-- eureka依賴       -->
        <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-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </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.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yml文件

​ application.yml文件需要對項目做一個基礎的配置,這裏按照自己的需求配置就可以了。因爲只是引入了Eureka,所以配置文件很少。另外,剛創建項目的時候是application.properties,命名爲application.yml文件即可,要注意這兩個文件雖然Spring都支持,但是這倆種文件的書寫格式不一樣。配置文件代碼如下:

#################################### common config : ####################################
spring:
  application:
    name: eureka

server:
  port: 8080

##eureka服務段配置
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://127.0.0.1:8080/eureka
  server:
    renewal-percent-threshold: 0.49

啓動類添加Eureka註解

​ 啓動類添加註解即可,添加一個@EnableEurekaServer註解,然後啓動服務就可以了。

啓動結果及其驗證方法

​ 啓動單個模塊,然後在瀏覽器輸入http://127.0.0.1:8080,出現下面的頁面就代表成功了。

截屏2020-06-02 下午2.59.01

創建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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.psq</groupId>
        <artifactId>ssodemo</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>com.psq</groupId>
    <artifactId>eureka-client</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>eureka-client</name>
    <description>this is Eireka Client</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
    </properties>

    <dependencies>
        <!--web依賴-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </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.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yml配置文件

​ 唯一需要注意的地方就是端口號和註冊中心的地址。

#################################### common config : ####################################
spring:
  application:
    name: eureka-client
server:
  port: 8081
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:8080/eureka
  instance:
    prefer-ip-address: true

啓動類註解

​ 和註冊中心的註解也不一樣,需要修改一下。使用@EnableDiscoveryClient這個註解。

啓動監測

​ 需要注意的是,如果依賴中沒有添加web依賴,項目就會啓動一會就停掉了。因爲沒有添加web依賴的SpringBoot項目相當於一個java的demo,代碼執行完畢就結束了。執行項目後,註冊中心回出現已經註冊的實例。如下圖:

image-20200602151510377

​ 這樣就整合了一個Eureka,一個簡單的demo,中間省略了很多的東西。只是簡單的驗證一下。就這樣吧,結束。

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