springCloud全家桶
簡單介紹、使用
1、服務(wù)注冊與發(fā)現(xiàn)eureka
介紹:
????各服務(wù)系統(tǒng)(訂單、商品、用戶......)將需要對外提供的服務(wù)發(fā)布至eureka服務(wù)器上進(jìn)行注冊;
? ? 各eureka客戶端系統(tǒng),可以從eureka服務(wù)中心,發(fā)現(xiàn)其他服務(wù)連接信息,便于服務(wù)間調(diào)用(實(shí)現(xiàn)解耦);
eureka服務(wù)器
一般是集群方式部署eureka服務(wù)器,保證eureka的高可用;
配置開啟@EnableEurekaServer

服務(wù)端配置文件

eureka服務(wù)使用者——各客戶端
配置開啟@EnableDiscoveryClient

客戶端配置

RestTemplate使用
比如user服務(wù)配置跟提供的服務(wù)如下


那么在其他服務(wù)中調(diào)用user服務(wù)時(shí)


2、各服務(wù)間調(diào)用負(fù)載均衡ribbon


比如goods服務(wù)調(diào)用用戶服務(wù)ribbon配置

3、服務(wù)間調(diào)用,申明式Api,F(xiàn)eign

開啟Feign配置
@EnableFeignClients

遠(yuǎn)程調(diào)用

也可以如此使用,這樣將remote跟dto抽取出去,可以實(shí)現(xiàn)代碼復(fù)用,服務(wù)提供者維護(hù)接口依賴。也可做為對外開放接口的文檔(如果調(diào)用方不想直接使用的話);

4、服務(wù)間調(diào)用,服務(wù)熔斷hystrix斷路器

服務(wù)開啟配置
@EnableHystrix


5、微服務(wù)網(wǎng)關(guān)zuul
對外(web層)提供一個(gè)統(tǒng)一的出入口,方便做一些權(quán)限校驗(yàn)、安全檢查;

配置
@EnableZuulProxy // 開啟網(wǎng)關(guān)相關(guān)功能
@EnableHystrix 開啟斷路器檢驗(yàn)
@EnableDiscoveryClient // 開啟服務(wù)發(fā)現(xiàn)

ZuulFilter使用



zuul調(diào)用服務(wù)退回

為了高可用性,zuul一般也是采用集群部署的;
然后 在 zuul外部 采用nginx做網(wǎng)關(guān)的負(fù)載均衡器,就基本實(shí)現(xiàn)一個(gè)分布式微服務(wù)系統(tǒng)的構(gòu)建了;