SpringCloud Eureka的使用教程
什麼是Eureka
Eureka是Netfilx開源的一個用來實現微服務的註冊與發現的組件。它包含Server和Client兩部分。
為什麼要有Eureka
例如目前有兩個服務分別為服務A,服務B,我們可以在服務A調用服務B的接口地址完成調用,但是當服務間的調用關系復雜起來的時候,比如服務A還需要調用服務CDE,那麼服務A需要維護它調用的所有服務的地址,一旦地址的變更都需要手動去修改。
當使用瞭Eureka這樣的服務治理框架後,服務ABCDE可以一起註冊到EurekaServer服務上,直接通過服務名來調用其他服務。
Eureka的使用
通過Eureka,實現消費者服務80通過服務名調用服務提供者8001的接口。
cloud-eureka-server7001關鍵代碼
引入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表示不向註冊中心註冊自己。 fetch-registry: false #false表示自己端就是註冊中心,我的職責就是維護服務實例,並不需要去檢索服務 service-url: #集群指向其它eureka defaultZone: http://eureka7002.com:7002/eureka/ #單機就是7001自己 defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
啟動類註解:
@SpringBootApplication @EnableEurekaServer public class EurekaMain7001 { public static void main(String[] args) { SpringApplication.run(EurekaMain7001.class, args); } }
cloud-provider-payment8001關鍵代碼
引入client依賴:
<!--eureka-client--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
client端配置:
eureka: client: #表示是否將自己註冊進EurekaServer默認為true。 register-with-eureka: true #是否從EurekaServer抓取已有的註冊信息,默認為true。單節點無所謂,集群必須設置為true才能配合ribbon使用負載均衡 fetchRegistry: true service-url: defaultZone: http://localhost:7001/eureka
啟動類註解:
@SpringBootApplication @EnableEurekaClient public class PaymentMain8001 { public static void main(String[] args) { SpringApplication.run(PaymentMain8001.class, args); } }
cloud-consumer-order80
關鍵代碼同服務提供者
通過服務名調用其他服務的接口(RestTemple記得要加@LoadBalanced,否則找不到服務名):
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/
服務Cient配置
# 集群 #defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka #
總結
到此這篇關於SpringCloud Eureka使用的文章就介紹到這瞭,更多相關SpringCloud Eureka使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- SpringCloud實現Eureka服務註冊與發現
- SpringCloud Eureka服務治理之服務註冊服務發現
- Spring Cloud Eureka 搭建 & 集群方式
- springCloud項目搭建流程步驟分解
- 解析spring cloud ouath2中的Eureka