天天看點

springCloud入門學習(二):認識springcloud

一、概念

基于springboot基礎上用于快速建構分布式系統的通用模式的工具集。

二、特點

1、約定優于配置;

2、隐藏元件複雜性;

3、輕量級元件;

4、元件豐富,功能齊全,例如:服務發現、斷路器、微服務網關等;

5、選型中立、豐富;

6、靈活。

三、服務消費者與服務提供者

在微服務架構中有兩種角色:服務消費者與服務提供者,二者關系如下:

服務提供者:服務的被調用者

服務消費者:服務的調用者

例如,在電影系統中,使用者購買電影票票之前,電影服務需要調用使用者服務的接口擷取使用者資訊,此時的電影服務就是調用方,即服務消費者,使用者服務為被調用方,即服務提供者。

四、微服務實踐

1、服務提供者:使用者服務

項目結構如下:

springCloud入門學習(二):認識springcloud

這個demo主要是為了示範服務與服務之間的通信,是以不再配置資料源。

user.java

iuserservice.java

userserviceimpl.java

usercontroller.java

returnutil.java

application.yml

啟動項目後通路:http://localhost:8010/user/getuserinfo?userid=1

得到相應:

表示接口已通。

2、服務消費者:電影服務

項目架構如下:

springCloud入門學習(二):認識springcloud

user.java和returnutil.java與上例相同在此不再展示。

movieapplicaiton.java

moviecontroller.java

此時啟動項目,通路:http://localhost:8020/movie/findbyid?userid=1

得到響應:

至此,一個簡單的電影微服務就完成了。

五、上述例子中存在的問題

1、在代碼中寫死通路路徑

在電影服務中,可以将user服務的通路路徑寫到yml配置檔案中,使代碼更清爽:

yml:

2、适用場景有限:當使用者服務的位址或端口号發生改變時,需要修改電影服務的配置檔案并且重新部署,這顯然是不可取的。

繼續閱讀