微服務之SpringCloud實戰(一):SpringCloud簡介

什麼是微服務架構架構

  微服務架構就是系統架構設計的一種風格,它主旨將一個獨立的系統,拆分紅各個微服務,各個微服務獨立運行,他們之間經過Http的Restful API進行通訊,拆分出來的微服務是根據原系統高耦合部分進行構建(以後會單獨講解如何拆分微服務),每一個微服務都有本身的數據存儲(涉及到分佈式事務的處理,以後會有講解)、獨立部署,因爲輕量級的通信協議,微服務可使用不一樣的語言來開發。 負載均衡

單體式應用的區別分佈式

  以往的傳統架構,咱們會針對一個業務進行構建一個單體項目,主要分爲數據、服務端、客戶端,在業務初期每每開發、測試、部署等相對比較簡單,可是通過不斷的更新迭代以後會發現這個單體應用匯很臃腫,而且耦合度極高,可能修改一處代碼會牽扯到不少地方的修改,缺點慢慢就暴露出來了,維護成本也會愈來愈大,且開發不容上手。微服務

  微服務就解決了這個單體應用臃腫難以維護的問題,咱們能夠將不一樣的功能模塊進行拆分,拆分出一個一個微服務,可獨立部署和擴展,部署一個微服務不會影響到其餘微服務的運行,實現了高內聚、低耦合,咱們也能夠更準確的去發現系統的性能瓶頸工具

SpringCloud性能

  SpringCloud是一個基於SpringBoot實現的微服務架構開發工具,它爲微服務中的服務治理、配置管理、智能路由、分佈式會話、集羣狀態等提供了一個簡單的開發方式。開發工具

  SpringCloud包含多個組件:測試

    SpringCloud Netflix:核心組件,對多個Netflix OSS開源套件進行整合。spa

      Eureka:服務治理組件,包含服務註冊中心,服務註冊與發現的實現。架構設計

      Hystrix:斷路由,幫助服務依賴中出現延遲和故障時提供強大的容錯機制。

      Ribbon:客戶端負載均衡組件。

      Feign:基於Ribbon和Hystrix的聲明式服務調用組件,通常用於服務之間相互調用。

      Zuul:網關,智能路由、智能過濾等功能。

      Archaius:外部化配置組件。

    SpringCloud Config:配置中心,可實現配置外部化存儲,支持使用SVN、GIT存儲配置,並支持配置刷新功能。

    SpringCloud Bus:消息總線,用於傳播集羣中各微服務的狀態變化,好比能夠實現動態刷新配置

    SpringCloud Stream:經過Kafka、Redis、MQ、能夠實現消費微服務,經過簡單的模型就可實現發送和消費

    SpringCloud Sleuth:鏈路追蹤組件,可實現分佈式跟蹤,方便定位問題等

    還有不少組件這裏就不一一介紹了

SpringCloud是基於SpringBoot搭建的,因此你們要對SpringBoot有必定的掌握

相關文章
相關標籤/搜索