1. 程式人生 > 其它 >一、微服務架構理論&SpringCloud

一、微服務架構理論&SpringCloud

一、什麼是微服務?

  微服務是一種程式架構模式,它提倡將單體應用程式劃分成若干的小服務模組,服務之間互相協調、互相配合,為使用者提供最終價值。每個服務執行在其獨立的程序中,服務與服務間採用輕量級的通訊機制互相協作(通常是基於HTTP協議的RESTful AP))。每個服務都圍繞著具本業務進行構建,並且能夠被獨立的部署到生產環境。另外,要儘量避免統一的、集中式的服務管理機制,對具體的某個服務而言,應根據業務上下文,選擇合適的語言、工具對其進行構建。

二、什麼是SpringCloud?

  微服務部署一般都是基於分散式的,微服務技術含了服務註冊與發現、配置中心、服務呼叫、服務閘道器、服務熔斷、服務監控、負載均衡、全鏈路追蹤、服務降級、自動化構建部署、服務訊息佇列、服務定式任務排程等技術。而SpringCloud就是實現分散式微服務架構的多種技術的集合,提供了一站式解決方案,俗稱微服務全家桶。架構參考某大神的Spring Cloud微服務總體架構圖:

三、微服務技術選型

  目前,Springboot官網建議使用2.0以上版本,強烈建議升級1.5版本到2.0以上。但是在選擇springcloud與Springboot時,其版本之間存在依賴關係,具體如下

    Hoxton ----- 2.2.x Greenwich ---- 2.1.x Finchley --- 2.0.x Edgware --- 1.5.x Dalston --- 1.5.x。檢視詳細版本對應關係,可訪問https://start.spring.io/actuator/info,獲取json資料格式化後即可檢視具體依賴關係。MAVEN版本選擇3.5以上,mysql選擇5.7以上,JAVA版本使用java8,cloud alibaba 使用2.1.0.release。

Cloud使用技術選擇,參考下圖,√為推薦,×為不推薦,?為不確定的版本。