系統架構設計面試指南(01)-微服務和CAP
來源:JavaEdge
系統設計是定義滿足特定需求的系統的架構、介面和資料的過程。系統設計透過協同和高效的系統滿足您的業務或組織需求。一旦業務或組織確定了其需求,就可以開始構建一個將這些需求融入物理系統設計的過程,以滿足客戶的需求。您設計系統的方式將取決於您是選擇自定義開發、商業解決方案還是兩者結合。
系統設計需要對構建和工程系統採取系統的方法。良好的系統設計要求您考慮基礎設施的方方面面,從硬體和軟體,一直到資料及其儲存方式。
系統設計基礎知識
水平和垂直擴充套件
可擴充套件性是指應用程式在不犧牲延遲的情況下能夠處理和經受增加的工作負載的能力。應用程式需要強大的計算能力才能良好地進行擴充套件。伺服器應該足夠強大,以處理增加的流量負載。有兩種主要的擴充套件應用程式的方式:水平和垂直。
水平擴充套件,或稱為橫向擴充套件,意味著向現有硬體資源池中新增更多硬體。這會增加系統整體的計算能力。垂直擴充套件,或稱為縱向擴充套件,意味著增加伺服器的效能。這會提高執行應用程式的硬體的效能。
這兩種擴充套件方式都有各自的優缺點。在某些情況下,您需要考慮權衡並決定哪種型別的擴充套件對您的用例最適合。瞭解擴充套件的好處和風險,對應用程式可擴充套件性產生負面影響的主要瓶頸等內容。
微服務
[微服務],或稱為微服務架構,是一種透過鬆散耦合的服務構建應用程式的體系結構風格。它將大型應用程式劃分為獨立的、模組化的服務。這些模組可以獨立開發、部署和維護。
在微服務體系結構中,每個微服務都有一個專門的團隊負責。
當團隊#1超出單個微服務的限制時,我們可以輕鬆地擴充套件微服務以滿足團隊需求的變化。
與傳統的單體應用程式相比,微服務的執行速度更快、更可靠。由於應用程式被分解為獨立的服務,每個服務都有自己的邏輯和程式碼庫。這些服務可以透過應用程式程式設計介面(API)相互通訊。
對於希望開發更具可擴充套件性應用程式的組織來說,微服務是理想的選擇。由於其現代的能力和模組,微服務使得更容易擴充套件應用程式。如果您與一個龐大或不斷增長的組織合作,微服務對您的團隊非常有利,因為它們更容易隨著時間的推移進行擴充套件和定製。
代理伺服器
[代理伺服器],或稱為正向代理,充當使用者和網際網路之間的通道。它將終端使用者與他們瀏覽的網站分開。代理伺服器不僅轉發使用者請求,還提供許多好處,例如:
提高安全性 提高隱私性 訪問被阻止的資源 控制員工和子女的網際網路使用 快取資料以加速請求
每當使用者傳送對終端伺服器的地址的請求時,流量都會透過代理伺服器流向該地址。當請求返回到使用者時,它會透過相同的代理伺服器返回給使用者。
正向代理
CAP 定理
CAP 定理是系統設計領域的基本定理。它指出分散式系統在分割槽的情況下只能同時提供一致性、可用性和分割槽容錯性中的兩個屬性。該定理在分割槽存在時形式化了一致性和可用性之間的權衡。
未完待續。。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70024420/viewspace-3001352/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 系統架構設計面試指南(02)-MQ和檔案儲存架構面試MQ
- 微服務架構和設計模式 - DZone微服務微服務架構設計模式
- 架構設計思想-微服務架構設計模式架構微服務設計模式
- spring cloud微服務架構設計SpringCloud微服務架構
- 可伸縮的微服務告警系統設計指南微服務
- 微服務設計指南微服務
- spring微服務架構設計與輕量級微服務架構及最佳部署Spring微服務架構
- 微服務架構之「 監控系統 」微服務架構
- 微服務架構下的系統整合微服務架構
- SACC2018:微服務架構設計微服務架構
- 《微服務架構設計模式》讀書筆記 | 第9章 微服務架構中的測試策略(上)微服務架構設計模式筆記
- 「系統架構」CAP定理的含義架構
- 系統架構設計之-任務排程系統的設計架構
- 《微服務架構設計模式》讀書筆記 | 第5章 微服務架構中的業務邏輯設計微服務架構設計模式筆記
- 小型專案的微服務架構指南微服務架構
- MACH架構:微服務質量工程指南Mac架構微服務
- 基於SpringCloud的微服務架構設計SpringGCCloud微服務架構
- 如何設計最佳的微服務架構 -DZone微服務架構
- 一起玩轉微服務(3)——微服務架構設計模式微服務架構設計模式
- 業務單系統架構設計心得(一)架構
- BAT面試經典送送送命題——微服務架構BAT面試微服務架構
- SpringCloud(1) ——回顧微服務和微服務架構SpringGCCloud微服務架構
- 面試集錦(十六)架構設計面試架構
- 面向微服務架構設計理念與實踐微服務架構
- 基於微服務和Docker的PaaS雲平臺架構設計微服務Docker架構
- 服務端指南 | 微服務初級設計指南服務端微服務
- 【架構與設計】常見微服務分層架構的區別和落地實踐架構微服務
- SOA架構和微服務架構的區別架構微服務
- 系統架構設計:平滑釋出和ABTesting架構
- 系統架構設計師學習(二)系統架構設計師緒論架構
- 微服務架構技術棧:程式設計師必須掌握的微服務架構框架詳細解析微服務架構程式設計師框架
- 微服務架構學習Day01-SpringBoot入門微服務架構Spring Boot
- 微服務架構設計基礎之領域驅動設計微服務架構
- 微服務架構設計基礎之立方體模型微服務架構模型
- 如何設計一個容錯的微服務架構微服務架構
- 微服務之架構技術選型與設計微服務架構
- 一文帶你瞭解微服務架構和設計(多圖)微服務架構
- 聊聊雲原生和微服務架構微服務架構