您好,登錄后才能下訂單哦!
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頁面(進入的是我們第一次配置的頁面,不是這個)
在頁面中我們可以看到,此時可以看見服務提供者已被注冊進 服務注冊者
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。