Eureka 服務註冊與發現

Eureka服務註冊與發現

一、服務註冊

註冊Eureka的服務非常的簡單,只需要引入spring-cloud-starter-netflix-eureka-client的jar包即可。

Eureka 服務註冊與發現

當然,我們要在配置文件中指明註冊中心的地址:

Eureka 服務註冊與發現

我們為了簡單,註冊中心用的是單機,大家也可以使用集群方式。

我們啟動這個應用,它就是將自己的ip地址、端口、應用名稱等信息向註冊中心註冊。我們可以打開註冊中心的管理後臺看到:

Eureka 服務註冊與發現

我們service-user服務已經註冊成功了。

只要我們引入了spring-cloud-starter-netflix-eureka-client的jar包,它就使得我們的應用即是 Eureka實例(instance,是服務的提供者)又是Eureka的客戶端(client,可以註冊中心發現其他的服務地址)。 Spring Cloud的服務提供和發現是在一起的,這有別於我們認識的其他的服務框架(如:dubbo)。既然服務的提供 和發現是在一起的,我們來看一看怎麼發現其他服務,並完成調用。

二、服務的調用

我們已經引入了spring-cloud-starter-netflix-eureka-client的jar包,就可以從註冊中心找到其他的服務。 我們這裡寫個遠程調用的例子供大家參考:

Eureka 服務註冊與發現

其中,“SERVICE-ORDER”是我們order服務中的spring.application.name的名字,discoveryClient通過服務的名稱找到對應的地址。 我們可以看到它返回的是一個List,這說明我們的服務可以搭建集群,我們取服務中的第一個地址,並通過RestTemplate進行調用。 這種方法是比較原始的方法,Spring Cloud給我們封裝更簡便的Feign,它可以更方便的調用服務,並提供了負載均衡策略,這是我們下一張要講的內容。

至此,Eureka服務註冊與發現就介紹完了,示例地址:https://github.com/liubo-tech/spring-cloud-eureka。


分享到:


相關文章: