1.SpringCloud是什么
網(wǎng)站設(shè)計(jì)制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);網(wǎng)站設(shè)計(jì)、網(wǎng)站制作收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營了十載的成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
以前的服務(wù)器就像是一個(gè)醫(yī)院只有一個(gè)醫(yī)生,什么病人都要讓這個(gè)醫(yī)生看,如果醫(yī)生覺得太累,自我暴斃了,那整個(gè)醫(yī)院都癱瘓了。而springcloud流行起來之后,就像是醫(yī)院里面有了外科診室,內(nèi)科診室等,每一個(gè)診室都有一群醫(yī)生負(fù)責(zé),這樣不管哪一個(gè)醫(yī)生不行了都不會影響整個(gè)醫(yī)院的運(yùn)轉(zhuǎn)。把一臺或好幾臺服務(wù)器中的眾多服務(wù),分類出來,解耦合出來,把他們類似的功能交給同一個(gè)集群來做,把互相耦合在一起的功能剝離出來,按業(yè)務(wù),按功能來把他們作為一個(gè)個(gè)微服務(wù)放在服務(wù)器上,而這個(gè)服務(wù)器就只提供一個(gè)服務(wù),或較少的服務(wù)。讓一個(gè)超大的服務(wù)邏輯,解耦合為一個(gè)個(gè)小服務(wù),均勻的分布在各自的服務(wù)器中。這就是springcloud。
2.Eureka是做什么用的
每一個(gè)診室都是一個(gè)微服務(wù)集群,他們提供的作用都是一樣的。注冊中心Eureka相當(dāng)于每個(gè)診室的成員表。
3.Eureka的搭建
在Idea中創(chuàng)建工程:File -> New ->Project -> Empty Project -> Next
點(diǎn)擊下一步就完事了
創(chuàng)建Module文件
選擇quickstart,點(diǎn)擊下一步(這個(gè)頁面可能要加載一會時(shí)間)
組名和文件名自己隨便編寫,寫完一直下一步
配置pom文件
org.springframework.boot spring-boot-starter-parent 1.5.7.RELEASE org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.springframework.cloud spring-cloud-dependencies Edgware.SR5 pom import
然后就開始導(dǎo)包。。。漫長的等待
在main下創(chuàng)建文件夾resources并設(shè)置為資源文件夾
在resources下新建file,并命名為appliaction.yml
配置appliaction.yml
server: port: 8700 # 端口號自己隨意 # 指定當(dāng)前eureka客戶端的注冊地址,也就是eureka服務(wù)的提供方,當(dāng)前配置的服務(wù)的注冊服務(wù)方 eureka: client: service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka register-with-eureka: false #自身 不在向eureka注冊 fetch-registry: false #啟動(dòng)時(shí)禁用client的注冊 instance: hostname: localhost #指定應(yīng)用名稱 spring: application: name: eureka-server
在buting文件夾下新建文件EurekaServerAppliaction.java,然后寫入以下代碼。
@SpringBootApplication @EnableEurekaServer //當(dāng)前使用eureka的server public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class,args); System.out.println("2333"); } }
右鍵點(diǎn)擊Debug運(yùn)行,運(yùn)行成功后輸入http://localhost:8700如果能出現(xiàn)下面這個(gè)界面我們第一步就算成功啦。
接下來就該配置客戶端啦,它提供的是角色的配置,提供服務(wù)在服務(wù)注冊方(就是我們剛剛配置的server)進(jìn)行注冊
跟上面的步驟一樣,我們新建Module文件,需要注意的是上面的兩個(gè)選為
創(chuàng)建完文件后,我們來配置pom文件,引入以下依賴
org.springframework.boot spring-boot-starter-parent 1.5.7.RELEASE org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.cloud spring-cloud-dependencies Edgware.SR5 pom import
好吧,其實(shí)就是把dependency里的server改為client
接著我們創(chuàng)建resources文件夾,創(chuàng)建application.yml文件,里面這樣配置
server: port: 8701 # 服務(wù)提供方 # 指定當(dāng)前eureka客戶端的注冊地址, eureka: client: service-url: defaultZone: http://${eureka.instance.hostname}:8700/eureka instance: hostname: localhost #當(dāng)前服務(wù)名稱 spring: application: name: eureka-service pom.xml:
因?yàn)榇罱ǖ氖欠?wù)提供者,這里還需編寫服務(wù)類controller
@RestController @RequestMapping("/Hello") public class Controller { @RequestMapping("/World") public String helloWorld(String s){ System.out.println("傳入的值為:"+s); return "傳入的值為:"+s; } }
入口類 并運(yùn)行此微服務(wù)
@SpringBootApplication @EnableDiscoveryClient//代表自己是一個(gè)服務(wù)提供方 public class EurekaServiceApplication { public static void main(String[] args) { SpringApplication.run(EurekaServiceApplication.class,args); } }
右鍵點(diǎn)擊Debug(當(dāng)然開啟此服務(wù)時(shí)需要先開啟server服務(wù) 就是我們第一個(gè)編寫的微服務(wù))等待運(yùn)行成功后,在進(jìn)入server頁面(進(jìn)入的是我們第一次配置的頁面,不是這個(gè))
在頁面中我們可以看到,此時(shí)可以看見服務(wù)提供者已被注冊進(jìn) 服務(wù)注冊者
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。