1. 程式人生 > 程式設計 >SpringCloud Eureka搭建的方法步驟

SpringCloud Eureka搭建的方法步驟

1.SpringCloud是什麼

以前的伺服器就像是一個醫院只有一個醫生,什麼病人都要讓這個醫生看,如果醫生覺得太累,自我暴斃了,那整個醫院都癱瘓了。而springcloud流行起來之後,就像是醫院裡面有了外科診室,內科診室等,每一個診室都有一群醫生負責,這樣不管哪一個醫生不行了都不會影響整個醫院的運轉。把一臺或好幾臺伺服器中的眾多服務,分類出來,解耦合出來,把他們類似的功能交給同一個叢集來做,把互相耦合在一起的功能剝離出來,按業務,按功能來把他們作為一個個微服務放在伺服器上,而這個伺服器就只提供一個服務,或較少的服務。讓一個超大的服務邏輯,解耦合為一個個小服務,均勻的分佈在各自的伺服器中。這就是springcloud。

2.Eureka是做什麼用的

每一個診室都是一個微服務叢集,他們提供的作用都是一樣的。註冊中心Eureka相當於每個診室的成員表。

3.Eureka的搭建

在Idea中建立工程:File -> New ->Project -> Empty Project -> Next

在這裡插入圖片描述

點選下一步就完事了

建立Module檔案

在這裡插入圖片描述

選擇quickstart,點選下一步(這個頁面可能要載入一會時間)

在這裡插入圖片描述

組名和檔名自己隨便編寫,寫完一直下一步

在這裡插入圖片描述

配置pom檔案

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.7.RELEASE</version>
</parent>

<!--server依賴-->
<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>

<!--指定下載源和使用springcloud的版本-->
 <dependencyManagement>
  <dependencies>
   <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Edgware.SR5</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
  </dependencies>
 </dependencyManagement>

然後就開始導包。。。漫長的等待

在main下建立資料夾resources並設定為資原始檔夾

在這裡插入圖片描述

在resources下新建file,並命名為appliaction.yml

在這裡插入圖片描述

配置appliaction.yml

server:
 port: 8700 # 埠號自己隨意

# 指定當前eureka客戶端的註冊地址,也就是eureka服務的提供方,當前配置的服務的註冊服務方
eureka:
 client:
  service-url:
   defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
  register-with-eureka: false #自身 不在向eureka註冊
  fetch-registry: false #啟動時禁用client的註冊
 instance:
  hostname: localhost

#指定應用名稱
spring:
 application:
  name: eureka-server

在buting資料夾下新建檔案EurekaServerAppliaction.java,然後寫入以下程式碼。

@SpringBootApplication
@EnableEurekaServer //當前使用eureka的server
public class EurekaServerApplication {
  public static void main(String[] args) {
    SpringApplication.run(EurekaServerApplication.class,args);
    System.out.println("2333");
  }
}

右鍵點選Debug執行,執行成功後輸入http://localhost:8700如果能出現下面這個介面我們第一步就算成功啦。

在這裡插入圖片描述

接下來就該配置客戶端啦,它提供的是角色的配置,提供服務在服務註冊方(就是我們剛剛配置的server)進行註冊
跟上面的步驟一樣,我們新建Module檔案,需要注意的是上面的兩個選為

在這裡插入圖片描述

建立完檔案後,我們來配置pom檔案,引入以下依賴

 <!--引入springboot-parent父專案-->
 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>1.5.7.RELEASE</version>
 </parent>
  <!--引入springcloud的euekea server依賴-->
  <dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  </dependency>


 <!--指定下載源和使用springcloud的版本-->
 <dependencyManagement>
  <dependencies>
   <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Edgware.SR5</version>
    <type>pom</type>
    <scope>import</scope>
   </dependency>
  </dependencies>
 </dependencyManagement>

好吧,其實就是把dependency裡的server改為client
接著我們建立resources資料夾,建立application.yml檔案,裡面這樣配置

server:
 port: 8701 # 服務提供方
 
# 指定當前eureka客戶端的註冊地址,eureka:
 client:
  service-url:
   defaultZone: http://${eureka.instance.hostname}:8700/eureka
 instance:
  hostname: localhost
 
#當前服務名稱
spring:
 application:
  name: eureka-service
pom.xml:

因為搭建的是服務提供者,這裡還需編寫服務類controller

@RestController
@RequestMapping("/Hello")
public class Controller {
  @RequestMapping("/World")
  public String helloWorld(String s){
    System.out.println("傳入的值為:"+s);
    return "傳入的值為:"+s;
  }
}

入口類 並執行此微服務

@SpringBootApplication
@EnableDiscoveryClient//代表自己是一個服務提供方
public class EurekaServiceApplication {
  public static void main(String[] args) {
    SpringApplication.run(EurekaServiceApplication.class,args);
  }
}

右鍵點選Debug(當然開啟此服務時需要先開啟server服務 就是我們第一個編寫的微服務)等待執行成功後,在進入server頁面(進入的是我們第一次配置的頁面,不是這個)

在這裡插入圖片描述

在頁面中我們可以看到,此時可以看見服務提供者已被註冊進 服務註冊者

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。