微服務中的相關概念
1服務註冊與發現
服務註冊:服務例項將自身服務資訊註冊到註冊中心。這部分服務資訊包括服務所在主機ip和提供服務
的port,以及暴露服務自身狀態以及訪問協議等資訊。
服務發現:服務例項請求註冊中心獲取所依賴服務資訊。服務例項通過註冊中心,獲取到註冊到其中的
服務例項的資訊,通過這些資訊去請求它們提供的服務。
2負載均衡
負載均衡是高可用網路基礎架構的關鍵元件,通常用於將工作負載分布到多個伺服器來提高**、應
用、資料庫或其他服務的效能和可靠性。
3熔斷
熔斷這一概念**於電子工程中的斷路器(circuit breaker)。在網際網路系統中,當下游服務因訪問壓
力過大而響應變慢或失敗,上游服務為了保護系統整體的可用性,可以暫時切斷對下游服務的呼叫。這
種犧牲區域性,保全整體的措施就叫做熔斷。
4鏈路追蹤
隨著微服務架構的流行,服務按照不同的維度進行拆分,一次請求往往需要涉及到多個服務。網際網路應
用構建在不同的軟體模組集上,這些軟體模組,有可能是由不同的團隊開發、可能使用不同的程式語言
來實現、有可能布在了幾千臺伺服器,橫跨多個不同的資料中心。因此,就需要對一次請求涉及的多個
服務鏈路進行日誌記錄,效能監控即鏈路追蹤
5 api閘道器
隨著微服務的不斷增多,不同的微服務一般會有不同的網路位址,而外部客戶端可能需要呼叫多個服務
的介面才能完成乙個業務需求,如果讓客戶端直接與各個微服務通訊可能出現:
針對這些問題,api閘道器順勢而生。
api閘道器直面意思是將所有api呼叫統一接入到api閘道器層,由閘道器層統一接入和輸出。乙個閘道器的基本
功能有:統一接入、安全防護、協議適配、流量管控、長短鏈結支援、容錯能力。有了閘道器之後,各個
api服務提供團隊可以專注於自己的的業務邏輯處理,而api閘道器更專注於安全、流量、路由等問題。
6 springcloud的介紹
spring cloud是一系列框架的有序集合。它利用spring boot的開發便利性巧妙地簡化了分布式系統基
礎設施的開發,如服務發現註冊、配置中心、訊息匯流排、負載均衡、斷路器、資料監控等,都可以用
spring boot的開發風格做到一鍵啟動和部署。spring cloud並沒有重複製造輪子,它只是將目前各家
公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過spring boot風格進行再封裝遮蔽掉
了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。
8 springcloud中的核心元件
元件名稱
作用eureka
服務註冊中心
ribbon
客戶端負載均衡
feign
宣告式服務呼叫
hystrix
客戶端容錯保護
zuul
api服務閘道器
spring cloud alibaba元件
元件名稱
作用nacos
服務註冊中心
sentinel
客戶端容錯保護
spring cloud原生及其他元件
元件 作用
consul
服務註冊中心
config
分布式配置中心
gateway
api服務閘道器
sleuth/zipkin
分布式鏈路追蹤
從上圖可以看出spring cloud各個元件相互配合,合作支援了一套完整的微服務架構。
註冊中心負責服務的註冊與發現,很好將各服務連線起來
斷路器負責監控服務之間的呼叫情況,連續多次失敗進行熔斷保護。
api閘道器負責**所有對外的請求和服務
配置中心提供了統一的配置資訊管理服務,可以實時的通知各個服務獲取最新的配置資訊
鏈路追蹤技術可以將所有的請求資料記錄下來,方便我們進行後續分析
各個元件又提供了功能完善的dashboard監控平台,可以方便的監控各元件的執行狀況 。
微服務概述
為什麼要使用微服務?因為在單體架構中,所有的業務模組的耦合性太高,耦合性過高的同時專案體量又很大勢必會給各個技術環節帶來挑戰。專案越進行到後期,這種難度越大,只要有改動,整個應用都需要重新測試,部署,極大的限制了開發的靈活性,降低了開發效率。同時也帶來了更大的安全隱患,如果某個模組發生故障無法正常執...
微服務和SpringCloud概述
1.什麼是微服務?微服務是乙個新興的軟體架構 微服務就是把乙個大型的單個應用程式和服務 拆分為數十個的微服務 微服務本身就是分布式的 乙個微服務的策略可以讓工作變得更為簡便,它可擴充套件單個元件而不是整個的應用程式堆疊,從而滿足服務等級協議。2.微服務有哪些優勢?優勢一 可擴充套件性 優勢二 可公升...
1 微服務架構概述
1.易於開發和維護 2.啟動較快 3.區域性修改 4.容易部署 5.技術棧不受限 6.按需伸縮 devops1.運維要求較高 2.分布式的複雜性 3.介面調整成本高 4.重複勞動1.每個微服務可獨立執行在自己的程序裡 2.一系列獨立執行的微服務共同構建起了整個系統 3.每個服務為獨立的業務開發,乙個...