您好,登錄后才能下訂單哦!
1.SpringCloud是什么
以前的服務(wù)器就像是一個醫(yī)院只有一個醫(yī)生,什么病人都要讓這個醫(yī)生看,如果醫(yī)生覺得太累,自我暴斃了,那整個醫(yī)院都癱瘓了。而springcloud流行起來之后,就像是醫(yī)院里面有了外科診室,內(nèi)科診室等,每一個診室都有一群醫(yī)生負責,這樣不管哪一個醫(yī)生不行了都不會影響整個醫(yī)院的運轉(zhuǎn)。把一臺或好幾臺服務(wù)器中的眾多服務(wù),分類出來,解耦合出來,把他們類似的功能交給同一個集群來做,把互相耦合在一起的功能剝離出來,按業(yè)務(wù),按功能來把他們作為一個個微服務(wù)放在服務(wù)器上,而這個服務(wù)器就只提供一個服務(wù),或較少的服務(wù)。讓一個超大的服務(wù)邏輯,解耦合為一個個小服務(wù),均勻的分布在各自的服務(wù)器中。這就是springcloud。
2.Eureka是做什么用的
每一個診室都是一個微服務(wù)集群,他們提供的作用都是一樣的。注冊中心Eureka相當于每個診室的成員表。
3.Eureka的搭建
在Idea中創(chuàng)建工程:File -> New ->Project -> Empty Project -> Next
點擊下一步就完事了
創(chuàng)建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>
然后就開始導(dǎo)包。。。漫長的等待
在main下創(chuàng)建文件夾resources并設(shè)置為資源文件夾
在resources下新建file,并命名為appliaction.yml
配置appliaction.yml
server: port: 8700 # 端口號自己隨意 # 指定當前eureka客戶端的注冊地址,也就是eureka服務(wù)的提供方,當前配置的服務(wù)的注冊服務(wù)方 eureka: client: service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka register-with-eureka: false #自身 不在向eureka注冊 fetch-registry: false #啟動時禁用client的注冊 instance: hostname: localhost #指定應(yīng)用名稱 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如果能出現(xiàn)下面這個界面我們第一步就算成功啦。
接下來就該配置客戶端啦,它提供的是角色的配置,提供服務(wù)在服務(wù)注冊方(就是我們剛剛配置的server)進行注冊
跟上面的步驟一樣,我們新建Module文件,需要注意的是上面的兩個選為
創(chuàng)建完文件后,我們來配置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
接著我們創(chuàng)建resources文件夾,創(chuàng)建application.yml文件,里面這樣配置
server: port: 8701 # 服務(wù)提供方 # 指定當前eureka客戶端的注冊地址, eureka: client: service-url: defaultZone: http://${eureka.instance.hostname}:8700/eureka instance: hostname: localhost #當前服務(wù)名稱 spring: application: name: eureka-service pom.xml:
因為搭建的是服務(wù)提供者,這里還需編寫服務(wù)類controller
@RestController @RequestMapping("/Hello") public class Controller { @RequestMapping("/World") public String helloWorld(String s){ System.out.println("傳入的值為:"+s); return "傳入的值為:"+s; } }
入口類 并運行此微服務(wù)
@SpringBootApplication @EnableDiscoveryClient//代表自己是一個服務(wù)提供方 public class EurekaServiceApplication { public static void main(String[] args) { SpringApplication.run(EurekaServiceApplication.class,args); } }
右鍵點擊Debug(當然開啟此服務(wù)時需要先開啟server服務(wù) 就是我們第一個編寫的微服務(wù))等待運行成功后,在進入server頁面(進入的是我們第一次配置的頁面,不是這個)
在頁面中我們可以看到,此時可以看見服務(wù)提供者已被注冊進 服務(wù)注冊者
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。