微服務的概念什么。。。。。。百度吧
第一步:麻煩自己先准備兩個普通的Spring boot 簡單的 demo
我寫的demo是這兩個

Spring Boot 中,服務消費者可以直接遠程調用 服務提供者,代碼如下
假設服務一 用戶服務中 UserApplication中有一個查詢用戶信息的接口(其他簡單的連接數據庫,mapper文件不做多解釋)
@RestController
public class UserController {
@Resource
private UserService userService;
@GetMapping("/queryOne/{id}")
public User queryOne(@PathVariable Long id) {
return userService.queryOne(id);
}
}
現在服務二 紀念品服務 SouvenirApplication中, 需要調用服務一 中的獲取用戶信息的接口
則需要做 以下的 操作
@RestController
public class SouvenirController {
//個人理解為遠程調用的模板對象
@Resource
private RestTemplate restTemplate;
@GetMapping("/buySouvenir/{id}")
public User buySouvenir(@PathVariable Long id) {
//服務一中的接口地址
return restTemplate.getForObject("http://localhost:8080/queryOne/"+id, User.class);
}
}
其中 restTemplate需要自己手動創建對象注入
在SouvenirApplication中 加入代碼
@Bean
public RestTemplate getRestTemplate() {
return new RestTemplate();
}
此時,訪問服務二中的接口 ,便可以調用服務一中的接口查詢數據
好吧,之前不知道居然可以直接調用,
不過 缺點很明顯, 接口地址硬編碼到代碼中,難以維護,
即使抽取為配置文件,當一個接口變動時,也需要更改其他服務調用者中的接口地址,重啟其他的服務器(當然,可以使用nginx作反向代理,將接口地址抽離出來,但當服務較多時。接口也增多,維護也麻煩)
所以:
需要一個專門,管理,治理服務的中間件。。。具體是啥。。我還沒看到。回頭看到了再說
只當做筆記用。。。。
