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

別做平庸Coder!掌握這十個架構絕技,讓你成為團隊MVP

開發 前端
本文描述了軟件的10個質量屬性,但這并不意味著每個質量屬性都會出現在架構設計中;你可以選擇對你的產品最重要的質量屬性,然后實現它們。

一般來說,軟件系統的需求可以分為兩類:功能需求和非功能需求。軟件系統的架構設計需要滿足這兩類需求。特別是系統架構對軟件非功能需求的支持,成為架構的質量屬性。本文描述了軟件的10個質量屬性,但這并不意味著每個質量屬性都會出現在架構設計中;你可以選擇對你的產品最重要的質量屬性,然后實現它們。

可擴展性

隨著用戶數量或請求數量的增加,系統的運行和操作能力也會增加。在云平臺上,可通過水平或垂直擴展機器或簡單地附加一個自動擴展組來實現可擴展性。

  • 流量模式:了解系統的流量模式。即使機器利用率低,也不值得生成盡可能多的機器。
  • 日常模式:特定區域的流量在早上增加,晚上減少。
  • 全球/區域模式:某些區域的應用程序使用量很大。
  • 突發流量:許多用戶在高峰期或人口稠密地區請求資源,但只有少數機器能夠提供服務。
  • 自動擴展:能夠快速啟動一些機器來處理突發流量,并在需求減少時優雅地縮減。
  • 延遲:能夠盡快為請求提供服務,包括優化算法和在用戶位置附近復制系統以減少往返請求。

可用性

通過正常運行時間的百分比來衡量,定義系統正常運行和工作時的時間比例。可用性受系統錯誤、基礎設施問題、惡意攻擊和系統負載的影響。

  • 部署標簽:部署應用組件的多個獨立副本,包括數據存儲區。
  • 區域部署:將后端服務部署到一組地理節點,每個節點可以處理來自任何區域的任何客戶端請求。

可擴展性

可擴展性指標擴展系統的能力以及實現可擴展性所需的工作。擴展可以通過添加新功能或修改現有功能來實現,原則是在不影響當前系統功能的前提下進行增強。

模塊化/可重用性:可重用性和可擴展性使技術能夠轉移到另一個項目中,減少開發和維護時間,同時增強可靠性和一致性。可插拔性:能夠輕松插入其他組件,如微內核架構。

一致性

一致性確保每次讀取操作返回最新的寫操作結果。這意味著在執行每次操作后,所有節點上的數據都是一致的,因此無論連接到哪個節點,所有客戶端都能同時看到相同的數據。一致性提高了數據的新鮮度。

彈性

可恢復性:準備和功能的過程可以在意外變化發生后將服務恢復到初始操作狀態。意外變化包括應用程序的軟刪除或硬刪除或配置錯誤。災難恢復包括旨在防止或盡量減少災難性事件造成的數據丟失和業務中斷的最佳實踐,涵蓋從設備故障和局部停電到網絡攻擊、民事緊急情況、犯罪或軍事攻擊,以及自然災害。

設計模式:

  • 隔離:將應用程序的元素隔離到池中,以便當一個池失敗時,其他元素繼續運行。
  • 斷路器:在連接到遠程服務或資源時,處理可能需要不同時間修復的故障。
  • 選舉:通過選舉一個實例作為負責管理其他實例的領導者,協調分布式應用程序中協作任務實例集合執行的操作。

可觀察性

可觀察性是收集有關程序執行、內部模塊狀態和組件之間通信的數據的能力。可以使用各種測試和跟蹤技術和工具來提高可觀察性。

  • 日志記錄:在每個請求中生成不同類型的日志:事件日志、事務日志、消息日志和服務器日志。
  • 警報和監控:準備監控儀表板,創建SLIs(服務級別指標)并設置關鍵警報。
  • L1/L2/L3:為L1/L2設置隨叫隨到的支持流程。L1支持與客戶互動,L2支持將L1路由到他們的票據并協助排除故障。L3是最終支持級別,通常涉及解決技術問題的開發團隊。

安全性

軟件保護信息和數據,為個人或其他產品或系統提供相應級別的數據訪問類型和授權。這一系列功能包括機密性(數據只能由授權人員訪問)、完整性(軟件防止未經授權的訪問或修改軟件或信息)、不可否認性(能夠證明已發生的行為或事件)、可追責性(能夠追蹤用戶行為)和真實性(驗證用戶身份)。

  • 審計性:審核和跟蹤系統活動,以便在安全漏洞發生時識別安全漏洞,確定漏洞的機制和范圍。遠程存儲審計跟蹤可以防止入侵者掩蓋其蹤跡。

合法性:

  • 合規性:遵守GDPR和個人信息保護法等數據保護法律法規。
  • 隱私:能夠對公司內部員工隱藏交易(加密交易,即使是DBA和網絡架構師也看不到)。
  • 身份驗證:確保用戶身份的安全要求。
  • 授權:確保用戶只能訪問應用程序中的某些功能(通過用例、子系統、網頁、業務規則和字段級權限)。

持久性

耐久性是軟件在長時間內提供服務并滿足用戶需求的能力。

  • 復制:涉及共享信息以確保冗余資源之間的一致性,從而提高可靠性、容錯性或可訪問性。
  • 容錯:容錯性是一種允許系統在一個或多個組件發生故障時繼續正常運行的功能。
  • 歸檔:數據是否需要在一段時間后歸檔或刪除?(例如,客戶數據將在三個月后刪除或標記為過時,并在備用數據庫中歸檔以供將來訪問。)

敏捷性

敏捷性已成為描述當代軟件方法學的流行術語,敏捷團隊可能是那些能夠適應變化的團隊。

  • 可維護性:修改應用程序和增強系統的難易程度。它表示開發人員在修改軟件以改進、糾正或適應環境和需求變化方面的有效性和效率。
  • 可測試性:開發人員和其他人測試軟件的難易程度。
  • 開發容易性:開發人員在修改軟件時不會引入缺陷或損害現有產品質量的程度。
  • 可部署性:從代碼提交到生產部署所需的時間。
  • 可安裝性:在所有必要的平臺上安裝系統的難易程度。
  • 可升級性:能夠輕松/快速地在服務器和客戶端上升級此應用程序/解決方案的以前版本。
  • 可移植性:系統是否需要在多個平臺上運行?(例如,前端是否需要與Oracle和SAP對接?)
  • 可配置性:最終用戶可以通過可用接口輕松更改軟件配置的各個方面。
  • 兼容性:產品、系統或組件在共享相同硬件或軟件環境時與其他產品、設計或成員交換信息的程度。

結語

在了解軟件架構的10個質量屬性后,我們可能需要考慮哪些質量屬性更適合我們的產品或項目。那么,我們如何在項目中繼續采用這些特性?

一旦了解了功能需求,嘗試識別系統中可能阻礙這些功能的瓶頸。如何找到瓶頸?你可以嘗試回答幾個問題,例如:

  • 系統能否在超過1億用戶的規模上運行?
  • 系統能否處理1萬個并發請求?
  • 數據處理是否安全?
  • 是否可以輕松添加更多功能而不影響現有功能?通過回答這些問題,我們可以更好地理解和應用軟件架構的質量屬性,提高系統的整體性能和可靠性。
責任編輯:姜華 來源: 大遷世界
相關推薦

2019-07-11 14:45:52

簡歷編程項目

2019-07-15 15:59:32

高維數據降維數據分析

2025-02-28 08:30:00

Git開發命令

2021-10-18 08:01:44

TS語言TypeScript

2024-07-22 00:00:00

2025-04-09 00:01:05

2020-08-11 17:14:31

數據庫SQL技術

2025-04-30 05:58:20

2023-06-27 17:42:24

JavaScript編程語言

2025-01-20 00:06:13

2023-05-24 10:24:56

代碼Python

2023-12-23 11:15:25

2016-08-24 22:00:58

CSSWeb設計

2022-05-16 07:48:54

Python操作類型

2024-12-31 08:10:00

2024-09-09 18:18:45

2022-02-22 23:25:19

Python編程語言開發

2020-04-25 19:46:13

CSS開發工具前端

2025-03-25 08:45:00

C#編程漏洞

2018-05-23 14:10:15

程序員技能溝通
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 夜夜操操操 | 日本视频免费 | 欧美一级片在线看 | 日韩二区 | 毛片一级片 | 中文字幕在线精品 | 一区二区三区成人 | 国产欧美一区二区三区在线看 | 四虎影院在线免费观看 | 特级黄一级播放 | 日日干天天操 | 超碰520| 91av在线看| 亚洲免费视频在线观看 | 久久久久久久亚洲精品 | 国产精品视频 | 超碰精品在线 | 一区在线播放 | 黄色小视频大全 | 国产中文字幕在线 | 亚洲一区二区免费视频 | 亚洲不卡在线视频 | 久久久久久亚洲国产精品 | 日韩成人免费视频 | 日韩精品极品视频在线观看免费 | 黄色大片网站 | 日韩靠逼 | 在线综合视频 | 婷婷久久一区 | 欧美高清免费 | 亚洲乱码国产乱码精品精98午夜 | 精品一区二区久久久久久久网站 | 久久久久久天堂 | 欧美激情久久久 | 日韩av在线不卡 | 岛国毛片 | www日本在线播放 | 精品一区二区三区在线观看国产 | 久久性色| 国产免费自拍 | 高清国产午夜精品久久久久久 |