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頁面(進入的是我們第一次配置的頁面,不是這個)
在頁面中我們可以看到,此時可以看見服務提供者已被註冊進 服務註冊者
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。