成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

什么是高層設計 - 學習系統設計

系統
高層設計或HLD指的是整體系統設計,包括系統架構和設計的描述,是一種通用的系統設計。

高層設計或HLD指的是整體系統設計,包括系統架構和設計的描述,是一種通用的系統設計,包括:

  • 系統架構
  • 數據庫設計
  • 對系統、服務、平臺和模塊之間關系的簡要描述。

高層設計或HLD也被稱為宏觀級別設計。

什么是高層設計文檔?

HLD文檔包括數據流、流程圖和數據結構,以幫助開發人員了解和實現當前系統的設計意圖。 此文檔負責:

  • 解釋系統組件和操作之間的連接,描述邏輯以及
  • 為系統的每個模塊所需的體系結構設計(用于系統的功能和流程)

根據功能需求。這是因為客戶業務需求被轉化為我們作為咨詢工作或架構設計、安全性和網絡的一部分所說的解決方案,我們將其稱為高層設計。

HLD 不包括物理要求、端口詳細信息、VLAN等許多細節。

高層設計文檔的范圍

高層設計文檔呈現系統的結構,如應用/數據庫架構、應用流程和技術架構。與低層設計不同,高層設計文檔可能使用一些非技術術語,低層設計應該是嚴格的技術術語。

注意:制定HLD是解決方案架構師的責任。在創建HLD之后,有經驗的專業設計人員根據HLD的標準轉向LLD。LLD將提供關于軟件實體如何工作的詳細信息,而HLD只關注在組織中放置哪些軟件實體以進行高效操作。 以下是在設計HLD時從解決方案架構師那里預期的約束:

  • 收集功能和非功能需求
  • 成本限制(一旦組織規模擴大,這變得非常重要)
  • 對系統的一致性、可用性、可擴展性和性能的程度有強烈的約束。

高層設計的組成部分

為了提供對整個解決方案的總體概覽,HLD應包含以下兩個元素:

  • 軟件實體的屬性和特性。
  • 不同軟件實體(組件、模塊、類等)之間的關系。

圖解: 讓我們通過下面的視覺輔助來描繪高層設計,以可視化組件及其關系,如下所示:

高層設計的組件

高層設計的目的

這個高層設計(HLD)的目的是:為合適的模型添加必要的詳細描述。這旨在幫助滿足運營需求,并可用作模塊之間交互的參考手冊。

基本上,HLD是功能需求和信息流跨資產或組件的技術表示。

高層設計的特點

  • 包含每個設計方面的圖表在所有設計HLD中(基于業務需求和預期結果)。
  • 包含硬件、軟件接口以及用戶界面的描述。
  • 用戶典型過程的工作流程詳細說明,以及性能規格。
  • 項目的架構和設計包含在用戶HLD中。

如何設計可擴展的高層設計(HLD)系統

為了設計任何高層次系統,需要按照順序列出某些術語,以便連接各個方面以了解:

如何設計可擴展的高層設計(HLD)系統

1. 容量估算

在本文中,我們將研究我們需要在高層次設計中掌握的概念,因此我們將提出一條路線圖。對于專業人士來說,路線圖尤為重要,因為這些圖表幫助我們完全理解實時服務在高層次上如何擴展。

我們還展示了服務器的特征行為,通過吞吐量和延遲在系統內進行測量,如下所示:

通過并發比較吞吐量和延遲:服務器的行為

2. HTTP和HTTPS及其方法:

  • GET
  • PUT
  • POST

提示:從服務器發送數據給客戶端有兩種方式:

  • 使用 Websockets
  • 使用輪詢

3. Websockets:

在客戶端-服務器架構中,我們向服務器發送請求,服務器將其發送回來,這樣通信就發生了。但是,在設計系統時,我們面臨的最大問題是我們是否能夠實現客戶端-服務器模型,因為我們不能等待服務器響應。在這種情況下,Websockets扮演了至關重要的角色,解決了這些問題,使我們能夠進行實時通信。它們在幾乎每個需要設計的系統中被廣泛使用,因為我們不能讓我們的系統等待響應。考慮一個實時文本消息服務的例子,例如 Slack 和 Whatsapp,這些服務需要保持連接。

另外,在返回動態值的系統中也會使用,例如股票價格系統、食品和雜貨送貨系統,在這些系統中我們返回的是從賣家到消費者的實時產品信息。

4. 輪詢:

輪詢是一種從服務器發送和接收數據的技術,就像我們在 Websockets 中所做的一樣。輪詢有兩種類型,分別是長輪詢和短輪詢。在短輪詢中,客戶端發送請求。

短輪詢與長輪詢

在短輪詢中,客戶端發送請求,服務器會立即按固定間隔發送數據,無論數據是否更新。在長輪詢中,服務器等待客戶端請求以響應,并且僅在有新數據可用或數據更新時才會響應。在長輪詢中,客戶端發送請求,如果沒有新信息可用或數據未更新,服務器將等待而不會響應。

提示:長輪詢優于短輪詢,因為系統發送的請求更少。 在設計系統時,請考慮如果沒有客戶端發出請求,服務器會發生什么。

5. 服務器發送事件(SSE):

它是專門從服務器向客戶端進行單向通信的設計系統中的一種方式。

例子:實時流媒體

服務器發送事件(SSE)

6. 過濾

控制室 API 支持對返回數組資源的端點進行過濾、分頁和排序。

過濾機制可以過濾所需的資源,排序機制將資源排序,并且分頁機制然后返回這些排序過的資源的特定范圍。此主題為您提供有關過濾和排序 API 請求結果以及處理從 API 請求返回的大型結果集的分頁的詳細信息。

注意:排序和過濾支持子字符串。例如,如果要搜索名稱中具有 "fin" 的機器人或文件,則輸入 "fin" 作為搜索條件。將顯示所有名稱中包含 "fin" 的機器人和文件,例如 Finance、Finder、DeltaFinance 和 Dolfin。

通配符不支持搜索和過濾機器人或文件。 過濾允許您對返回的資源集合應用布爾條件,以便將集合子集化為僅對條件為真的那些資源。在控制室 API 過濾中,最基本的操作是將字段與給定值進行比較。可以使用相等比較、范圍比較或邏輯。使用以下運算符將字段與常量值進行比較。

7. 速率限制:

速率限制器限制發送者在一段時間內可以完成的事件數量,限制發送者在一定時間內發送請求的數量。一旦達到閾值限制,進一步的請求將被阻止,如下圖所示:

速率限制

8. 容錯性:

無論我們設計的系統有多好,總是存在硬件問題、軟件問題(例如內存不足)或人為錯誤導致的故障和故障容忍。在這種情況下,我們需要通過以下方式提供韌性:

  • 復制
  • 冗余
  • 可用性

9. 分頁:

在HLD階段,我們不關心代碼,但非常關注數據庫設計,因此我們追蹤數據如何進行。現

在,在設計高層次系統時,分頁的概念進入了角色,我們需要從數據庫中過濾出特定的數據,基于要求,例如地理因素。例如:蘋果公司,它根據地理位置分頁出特定產品。

分頁

分頁是通過 GET 請求實現的,在分頁中有兩個邊界。

10. 日志記錄:

日志文件記錄軟件應用程序中發生的事件的詳細信息。這些詳細信息可能包括微服務、交易、服務操作或對調試事件流有幫助的任何內容。日志記錄對于監視應用程序的流程非常重要。

責任編輯:趙寧寧 來源: 小技術君
相關推薦

2015-03-26 10:05:59

UI設計師UI設計

2021-11-29 10:27:24

設計模式程序員

2024-02-26 10:44:29

2020-12-08 11:17:41

微內核架構設計

2012-07-23 10:36:46

工作流

2011-12-22 15:33:05

Web

2015-05-15 13:21:22

URL系統設計

2010-01-22 10:36:25

C++語言

2012-01-09 14:48:15

響應式Web

2012-08-03 09:09:59

網頁設計設計

2021-07-29 14:42:55

設計模式Java

2020-11-24 10:21:14

人工智能機器學習技術

2011-10-27 13:37:51

網頁設計

2020-03-18 09:31:47

設計模式軟件

2020-05-15 09:55:09

設計技術棧程序員

2021-06-18 12:39:12

數據驅動設計設計師收集數據

2012-07-31 10:07:07

架構系統架構架構設計

2024-06-28 09:59:35

2024-06-25 15:21:57

2014-06-05 14:46:05

設計設計師
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产1区 | 天天操夜夜操 | 久久久一二三 | 最新国产在线 | 一级黄色在线 | 国产aa | 羞羞的视频免费在线观看 | 精品国产乱码久久久久久闺蜜 | 亚洲一区视频在线 | 作爱视频免费观看 | 一a一片一级一片啪啪 | 丝袜久久| 久久国 | 精品国产一区二区 | 成人免费一区二区三区牛牛 | 狠狠操狠狠操 | 亚洲视频在线一区 | 97精品超碰一区二区三区 | 久久国产精品精品 | 欧美一区二区免费 | 中文字幕在线精品 | 久久一区二区视频 | 91久久精品国产91久久 | 久久精品亚洲国产奇米99 | 青青草原综合久久大伊人精品 | 国产精品成人一区二区 | 日韩欧美在线观看 | 亚洲国产精品久久人人爱 | 国产成人精品福利 | 国产精品特级毛片一区二区三区 | 国产精品欧美一区二区三区不卡 | 国产精品久久久久久婷婷天堂 | 91原创视频 | 污视频在线免费观看 | 精品1区2区 | 久久午夜国产精品www忘忧草 | 一级毛片大全免费播放 | 国产成人精品综合 | 久久久久电影 | 欧美国产精品一区二区三区 | 狠狠艹 |