SpringCloud Eureka的使用教程
什么是Eureka
Eureka是Netfilx開源的一個(gè)用來實(shí)現(xiàn)微服務(wù)的注冊(cè)與發(fā)現(xiàn)的組件。它包含Server和Client兩部分。
為什么要有Eureka
例如目前有兩個(gè)服務(wù)分別為服務(wù)A,服務(wù)B,我們可以在服務(wù)A調(diào)用服務(wù)B的接口地址完成調(diào)用,但是當(dāng)服務(wù)間的調(diào)用關(guān)系復(fù)雜起來的時(shí)候,比如服務(wù)A還需要調(diào)用服務(wù)CDE,那么服務(wù)A需要維護(hù)它調(diào)用的所有服務(wù)的地址,一旦地址的變更都需要手動(dòng)去修改。
當(dāng)使用了Eureka這樣的服務(wù)治理框架后,服務(wù)ABCDE可以一起注冊(cè)到EurekaServer服務(wù)上,直接通過服務(wù)名來調(diào)用其他服務(wù)。
Eureka的使用
通過Eureka,實(shí)現(xiàn)消費(fèi)者服務(wù)80通過服務(wù)名調(diào)用服務(wù)提供者8001的接口。
cloud-eureka-server7001關(guān)鍵代碼
引入server依賴:
<!--eureka-server--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
server端配置:
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false #false表示不向注冊(cè)中心注冊(cè)自己。
fetch-registry: false #false表示自己端就是注冊(cè)中心,我的職責(zé)就是維護(hù)服務(wù)實(shí)例,并不需要去檢索服務(wù)
service-url:
#集群指向其它eureka
defaultZone: http://eureka7002.com:7002/eureka/
#單機(jī)就是7001自己
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
啟動(dòng)類注解:
@SpringBootApplication
@EnableEurekaServer
public class EurekaMain7001
{
public static void main(String[] args) {
SpringApplication.run(EurekaMain7001.class, args);
}
}
cloud-provider-payment8001關(guān)鍵代碼
引入client依賴:
<!--eureka-client--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
client端配置:
eureka: client: #表示是否將自己注冊(cè)進(jìn)EurekaServer默認(rèn)為true。 register-with-eureka: true #是否從EurekaServer抓取已有的注冊(cè)信息,默認(rèn)為true。單節(jié)點(diǎn)無所謂,集群必須設(shè)置為true才能配合ribbon使用負(fù)載均衡 fetchRegistry: true service-url: defaultZone: http://localhost:7001/eureka
啟動(dòng)類注解:
@SpringBootApplication
@EnableEurekaClient
public class PaymentMain8001 {
public static void main(String[] args) {
SpringApplication.run(PaymentMain8001.class, args);
}
}
cloud-consumer-order80
關(guān)鍵代碼同服務(wù)提供者
通過服務(wù)名調(diào)用其他服務(wù)的接口(RestTemple記得要加@LoadBalanced,否則找不到服務(wù)名):
public static final String PAYMENT_URL = "http://CLOUD-PAYMENT-SERVICE";
@GetMapping("/consumer/payment/get/{id}")
public CommonResult<Payment> getPayment(@PathVariable("id") Long id)
{
return restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,CommonResult.class);
}


如果使用Eureka集群
EurekaServer配置
#集群指向其它eureka defaultZone: http://eureka7002.com:7002/eureka/
服務(wù)Cient配置
# 集群 #defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka #
總結(jié)
到此這篇關(guān)于SpringCloud Eureka使用的文章就介紹到這了,更多相關(guān)SpringCloud Eureka使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java List的remove()方法陷阱以及性能優(yōu)化
Java List在進(jìn)行remove()方法是通常容易踩坑,本文就詳細(xì)的介紹一下陷阱以及性能優(yōu)化,感興趣的可以了解一下2021-10-10
JAVA基于PDF box將PDF轉(zhuǎn)為圖片的實(shí)現(xiàn)方法
這篇文章主要介紹了JAVA基于PDF box將PDF轉(zhuǎn)為圖片的操作方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
java使用MulticastSocket實(shí)現(xiàn)組播
這篇文章主要為大家詳細(xì)介紹了java使用MulticastSocket實(shí)現(xiàn)組播,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01
10k+點(diǎn)贊的 SpringBoot 后臺(tái)管理系統(tǒng)教程詳解
這篇文章主要介紹了10k+點(diǎn)贊的 SpringBoot 后臺(tái)管理系統(tǒng)教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Spring-cloud Config Server的3種配置方式
這篇文章主要介紹了Spring-cloud Config Server的3種配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法
這篇文章主要介紹了Java并發(fā)編程之ReadWriteLock讀寫鎖的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
完美解決Eclipse導(dǎo)入的項(xiàng)目上有個(gè)紅叉,但不影響項(xiàng)目運(yùn)行的問題
這篇文章主要介紹了完美解決Eclipse導(dǎo)入的項(xiàng)目上有個(gè)紅叉,但不影響項(xiàng)目運(yùn)行的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
java使用Feign實(shí)現(xiàn)聲明式Restful風(fēng)格調(diào)用
這篇文章主要為大家詳細(xì)介紹了java使用Feign實(shí)現(xiàn)聲明式Restful風(fēng)格調(diào)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
利用Spring MVC+Mybatis實(shí)現(xiàn)Mysql分頁(yè)數(shù)據(jù)查詢的過程詳解
這篇文章主要給大家介紹了關(guān)于利用Spring MVC+Mybatis實(shí)現(xiàn)Mysql分頁(yè)數(shù)據(jù)查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
Idea2020.2創(chuàng)建JavaWeb項(xiàng)目(部署Tomcat)方法詳解
這篇文章主要介紹了Idea2020.2創(chuàng)建JavaWeb項(xiàng)目(部署Tomcat)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08

