SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

Eureka注冊(cè)中心 u里卡
服務(wù)者將信息給eureka,提供者找eureka 要



配置eurekaserver 服務(wù)端

服務(wù)注冊(cè) 客戶端
在服務(wù)提供者里加依賴、改yml

多部署

服務(wù)拉取

Ribbon負(fù)載均衡

調(diào)整負(fù)載均衡策略

饑餓加載

Nacos注冊(cè)中心

依賴配置

導(dǎo)依賴、改yml

服務(wù)集群 cluster-name

nacos負(fù)載均衡 優(yōu)先訪問(wèn)本地集群
userservice: ribbon: NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRulena
nacos負(fù)載均衡權(quán)重 在nacos中編輯權(quán)重,權(quán)重值越小,被訪問(wèn)的概率越小
nacos環(huán)境隔離

yml中添加namespace的id

nacos臨時(shí)實(shí)例 臨時(shí)實(shí)例當(dāng)服務(wù)停止時(shí),nacos后臺(tái)會(huì)立即刪除該服務(wù),但如果為非臨時(shí)實(shí)例時(shí),停止時(shí),后臺(tái)會(huì)保留該服務(wù)

nacos與eureka區(qū)別

nacos統(tǒng)一配置
- 在nacos官網(wǎng)中進(jìn)行配置添加
- 導(dǎo)config依賴、添bootstrap.yml,配置nacos地址、當(dāng)前環(huán)境、服務(wù)名稱、文件后綴名。這些決定了程序啟動(dòng)時(shí)去nacos讀取哪個(gè)文件
服務(wù)啟動(dòng)--bootstrap.yml--nacos設(shè)置好的配置

nacos配置熱更新
Nacos中的配置文件變更后,微服務(wù)無(wú)需重啟就可以感知。
- 在controller中添加@RefreshScope

2.添加config文件,使用@ConfigurationProperties實(shí)現(xiàn)字動(dòng)刷新

nacos多環(huán)境

http客戶端Feign
代替RestTemplete執(zhí)行http請(qǐng)求發(fā)送操作
配置 導(dǎo)依賴、開(kāi)注解、寫(xiě)接口


自定義Feign配置

配置Feign日志
1.yml

2.注解

性能優(yōu)化
- 使用連接池代替默認(rèn)的URLConnection
- 日志級(jí)別,最好用basic或none
導(dǎo)依賴、yml配置連接池

Feign最佳實(shí)踐
- 繼承

耦合度高
2.抽取

資源浪費(fèi)
網(wǎng)關(guān)
- 身份、權(quán)限確認(rèn)
- 負(fù)載均衡
- 限流
gateway 非阻塞 性能好
搭建:
導(dǎo)依賴

yml

實(shí)現(xiàn)流程

路由斷言工廠 predicateFactory

路由過(guò)濾器

filters、default-filters

全局過(guò)濾器 globalfilter


過(guò)濾器執(zhí)行順序

cors跨域

Docker

一個(gè)系統(tǒng)進(jìn)程,性能高

鏡像image是docker打包,容器container是鏡像中的應(yīng)用程序運(yùn)行形成的進(jìn)程

systemctl start docker
鏡像操作

命令可以通過(guò)docker -help查看
容器操作

docker run --name xx -p xx:xx -d xx
docker ps/logs xx/logs -f xx 新建\查看\日志

docker exec it xx bash 進(jìn)入修改

docker start/stop xx 開(kāi)始/停止容器
docker rm xx 移除
數(shù)據(jù)卷

