這篇文章主要介紹了微服務(wù)架構(gòu)中SpringCloud基礎(chǔ)組件應(yīng)用設(shè)計(jì)的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)永勝,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
Eureka 組件是 Netflix 開(kāi)發(fā)的,用于定位服務(wù),基于RESTFul方式實(shí)現(xiàn)服務(wù)注冊(cè)與發(fā)現(xiàn)。包括一個(gè)EurekaServer服務(wù)端(通常是指微服務(wù)中的注冊(cè)中心) 和EurekaClient客戶端(通常指微服務(wù)中的業(yè)務(wù)服務(wù))。Eureka支持高可用的配置,當(dāng)注冊(cè)中心發(fā)現(xiàn)有故障的服務(wù)時(shí),Eureka就會(huì)轉(zhuǎn)入自動(dòng)保護(hù)模式,故障時(shí)不影響服務(wù)的發(fā)現(xiàn)和注冊(cè),當(dāng)故障恢復(fù)正常時(shí),注冊(cè)中心的服務(wù)會(huì)進(jìn)行狀態(tài)同步,繼續(xù)提供服務(wù)。
Feign 組件是一個(gè)聲明式的 WebService客戶端。在Eureka注冊(cè)的服務(wù)中,可以使用Feign接口的形式來(lái)進(jìn)行相關(guān)服務(wù)間的請(qǐng)求調(diào)用,并提供超時(shí)回退,快速熔斷的相關(guān)特性。Feign是一個(gè)便利的RestFul框架,簡(jiǎn)化調(diào)用,通過(guò)ribbon在注冊(cè)服務(wù)器中找到服務(wù)實(shí)例,然后對(duì)請(qǐng)求進(jìn)行服務(wù)分配,實(shí)現(xiàn)了負(fù)載均衡的效果,默認(rèn)采用輪詢算法。
GateWay網(wǎng)關(guān),可以讓所有客戶端請(qǐng)求先通過(guò)微服務(wù)網(wǎng)關(guān),跟網(wǎng)關(guān)進(jìn)行交互,由網(wǎng)關(guān)進(jìn)行各個(gè)微服務(wù)的請(qǐng)求轉(zhuǎn)發(fā),客戶端(前端)對(duì)多服務(wù)架構(gòu)無(wú)感知。降低客戶端與微服務(wù)之間的交互耦合度;便于監(jiān)控,可在網(wǎng)關(guān)中監(jiān)控?cái)?shù)據(jù);在網(wǎng)關(guān)層統(tǒng)一處理認(rèn)證,規(guī)劃切面編程;也就是說(shuō)與業(yè)務(wù)本身功能無(wú)關(guān)的公共邏輯可以在網(wǎng)關(guān)層統(tǒng)一封裝實(shí)現(xiàn),類似設(shè)計(jì)模式中的門面模式。
eureka: server: enable-self-preservation: false eviction-interval-timer-in-ms: 15000 instance: prefer-ip-address: true client: register-with-eureka: false fetch-registry: false service-url: defaultZone: http://127.0.0.1:5001/eureka/
eureka: instance: prefer-ip-address: true client: service-url: defaultZone: http://127.0.0.1:5001/eureka/
@FeignClient("MOPSZ-SOFT-ROCKET") public interface UserSearchFeign { @GetMapping("/mq/user/search/sendBookSearch") void sendBookSearch (@RequestParam("msgContent") String msgContent) ; }
@RestController public class UserSearchController implements UserSearchFeign { @Override public void sendBookSearch(String msgContent) { } }
該配置文件在實(shí)現(xiàn)Feign接口的項(xiàng)目中配置就好,也可針對(duì)特定方法配置。
feign: hystrix: enabled: true client: config: feignName: connectTimeout: 60000 readTimeout: 60000
@Resource private UserSearchFeign userSearchFeign ; userSearchFeign.sendBookSearch("");
zuul: # 前綴,可以用來(lái)做版本控制 prefix: /v1 # 禁用默認(rèn)路由,執(zhí)行配置的路由 ignored-services: "*" routes: # 配置 Token 服務(wù) pro6601: serviceId: mopsz-basis-token path: /api/6601/** # 配置 UserClient 服務(wù) pro6102: serviceId: mopsz-user-client path: /api/6102/**
配置FilterConfig進(jìn)行用戶Token認(rèn)證攔截;
配置FallBackConfig進(jìn)行服務(wù)降級(jí)響應(yīng)管理;
在項(xiàng)目上線后,對(duì)外暴露一個(gè)網(wǎng)關(guān)服務(wù)端口,其他服務(wù)端口不對(duì)外暴露,所有的請(qǐng)求都必須通過(guò)網(wǎng)關(guān)攔截或者轉(zhuǎn)發(fā),這就是微服務(wù)提供服務(wù)的一種常見(jiàn)方式。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“微服務(wù)架構(gòu)中SpringCloud基礎(chǔ)組件應(yīng)用設(shè)計(jì)的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!