我們假設服務提供者有乙個hello方法,可以根據傳入的引數,提供輸出「hello ***,this is first messge」的服務
建立乙個springboot專案,pom.xml中新增如下配置:
org.springframework.cloudspring-cloud-starter-eureka
org.springframework.boot
spring-boot-starter-test
test
server.port=9000eureka.client.serviceurl.defaultzone=http://localhost:8000/eureka/啟動類中新增@enablediscoveryclient
註解
}} 提供hello服務
@restcontrollerpublic class hellocontroller
}
新增@enablediscoveryclient
註解後,專案就具有了服務註冊的功能。啟動工程後,就可以在註冊中心的頁面看到spring-cloud-producer服務。
到此服務提供者配置就完成了。
和服務提供者一致
啟動類新增@enablediscoveryclient
和@enablefeignclients
註解。
}}
feign是乙個宣告式web service客戶端。使用feign能讓編寫web service客戶端更加簡單, 它的使用方法是定義乙個介面,然後在上面新增註解,同時也支援jax-rs標準的註解。feign也支援可拔插式的編碼器和解碼器。spring cloud對feign進行了封裝,使其支援了spring mvc標準註解和httpmessageconverters。feign可以與eureka和ribbon組合使用以支援負載均衡。}
此類中的方法和遠端服務中contoller中的方法名和引數需保持一致。
將helloremote注入到controller層,像普通方法一樣去呼叫即可。
@restcontrollerpublic class consumercontroller
}
到此,最簡單的乙個服務註冊與呼叫的例子就完成了。
依次啟動spring-cloud-eureka、spring-cloud-producer、spring-cloud-consumer三個專案
先輸入:http://localhost:9000/hello?name=neo
檢查spring-cloud-producer服務是否正常
返回:hello neo,this is first messge
說明spring-cloud-producer正常啟動,提供的服務也正常。
瀏覽器中輸入:http://localhost:9001/hello/neo
返回:hello neo,this is first messge
說明客戶端已經成功的通過feign呼叫了遠端服務hello,並且將結果返回到了瀏覽器。
以上面spring-cloud-producer為例子修改,將其中的controller改動如下:
@restcontrollerpublic class hellocontroller
}
在配置檔案中改動埠:
打包啟動後,在eureka就會發現兩個服務提供者,如下圖:
然後在瀏覽器再次輸入:http://localhost:9001/hello/neo
進行測試:
第一次返回結果:hello neo,this is first messge
第二次返回結果:hello neo,this is producer 2 send first messge
不斷的進行測試下去會發現兩種結果交替出現,說明兩個服務中心自動提供了服務均衡負載的功能。如果我們將服務提供者的數量在提高為n個,測試結果一樣,請求會自動輪詢到每個服務端來處理。
sshpp
服務提供與呼叫
我們假設服務提供者有乙個hello方法,可以根據傳入的引數,提供輸出 hello this is first messge 的服務 建立乙個springboot專案,pom.xml中新增如下配置 啟動類中新增 enablediscoveryclient註解 enablediscoveryclient...
服務提供與呼叫
我們假設服務提供者有乙個hello方法,可以根據傳入的引數,提供輸出 hello this is first messge 的服務 建立乙個springboot專案,pom.xml中新增如下配置 org.springframework.cloud spring cloud starter eurek...
springcloud 三 服務提供與呼叫
我們假設服務提供者有乙個hello方法,可以根據傳入的引數,提供輸出 hello this is first messge 的服務 建立乙個springboot專案,pom.xml中新增如下配置 啟動類中新增 enablediscoveryclient註解 enablediscoveryclient...