一、微服務架構構成
單體架構(經過應用集羣和數據庫集羣來提升性能,多餘模塊存在浪費)
垂直架構(新的功能模塊經過新項目來實現,數據庫之間存在交叉關聯。存在數據冗餘,和單體架構同樣經過擴展集羣結點,成本高,有性能瓶頸。)
SOA架構(ESB服務總線,基於webservice協議的接口調用。)
微服務架構(採用Restful輕量協議進行服務傳送)
技術棧
二、相關技術棧簡要理解
啓動類添加註解@EnableEurekaServer,@EnableEurekaClient
在啓動類中添加@EnableDiscoveryClient註解,服務發現;
在具體集羣的對象上添加@LoadBalanced註解,如:
在啓動類上添加@EnableHystrix(fallbackMethod="errorMethod")註解。
在具體的方法上添加@HystrixCommand註解
如請求超時等,調用相應的服務返回結果。
配置文件中添加sso-service配置,
在啓動類上添加@EnableZullProxy註解。
不只用於提供對外的服務的入口,還能夠在微服務之間經過zuul進行調用, 經常使用於請求路由、校驗、過濾等功能。
衆多微服務的配置文件能夠直接統一管理,放在git上,直接讀取,修改後不用重啓服務。
微服務之間的異步通訊,如微服務A修改用戶信息,微服務B須要存在緩存中,不能直接調用微服務B,能夠將消息發給消息總線的隊列,消息隊列來通知微服務B。
微服務之間的串聯調用,能夠跟蹤到具體時哪一步出錯了。