筆記: day03-微服務01 - 飛書云文檔 (feishu.cn)
數據庫連接不上?
要在虛擬機啟動MySQL容器。docker start mysql
服務治理
服務提供者:暴露服務接口,供其他服務調用
服務消費者:調用其他服務提供的接口
注冊中心:記錄并監控各微服務各實例狀態,推送服務變更消息
1.消費者如何知道提供者的地址?
服務提供者會在啟動時注冊自己信息到注冊中心,消費者可以從服務中心訂閱拉取服務信息。
2.消費者如何得知服務狀態變更
服務提供者會通過心跳機制向注冊中心報告自己的健康狀態,如果有異常服務注冊中心會剔除,然后通知訂閱了該服務的消費者。
3.當提供者有多個實例選哪一個?
負載均衡算法
nacos
之前在訪問192.168.200.130:8848/nacos/(自己的虛擬機地址)的時候總是訪問不了,重新刪除容器也不行。只好先放棄了,學完了第一天的課程之后,今天又想著去試下,結果成功了。
解決方案:docker inspect nacos 發現他的地址竟然和老師給的虛擬機地址192.168.150.101一樣,可是這個是要自己的IP地址,所以環境變量有誤。之前導入文件的時候不是修改了嗎?無奈,我先把文件修改了一遍。在docker中,無法使用docker container update命令直接更新整個環境變量。需要使用命令刪掉容器。
docker stop nacos
docker rm nacos
在mobaxterm上的/root目錄下重新上傳了custom.env文件后。再重新創建docker容器。
[root@localhost ~]# docker run -d \
> --name nacos \
> --env-file ./nacos/custom.env \
> -p 8848:8848 \
> -p 9848:9848 \
> -p 9849:9849 \
> --restart=always \
> nacos/nacos-server:v2.1.0-slim
很好,這次終于成功了。
?
OpenFeign
如何利用OpenFeign實現遠程調用?
- 引入OpenFeign和SpringLoadBalancer依賴
- 利用@EnableFeignClients注解開啟OpenFeign功能
- 編寫FeignClient
如何配置OpenFeign的連接池?
- 引入http客戶端依賴 如okhttp ,httpckient
- 配置yaml文件 打開OpenFeign連接池開關
OpenFeign的最佳實踐方式是什么?
- 對微服務進行拆分
- 重新開一個新的模塊module,將FeignClient以及DTO抽取出來
如何配置OpenFeign輸出日志級別?
- 在這個新的模塊中添加一個配置類,在里面定義一個bean
- 在注解@EnableFeignClients或@FeignClient上加上defaultFeignClients
數據庫datasource和schema是一個東西嗎?
參考這篇文章:數據庫中的Schema是什么?_schema是什么意思-CSDN博客
取決于數據庫供應商
1)在MySQL的文檔中指出,模式和數據庫是一回事。
2)但是,在Oracle文檔中指出,某些對象可以存儲在數據庫中,但不能存在schema中。所以,schema和數據庫不是一回事。
zhgzh'g