原创 基於.NET 7 的 WebTransport 實現雙向通信

Web Transport 簡介 WebTransport 是一個新的 Web API,使用 HTTP/3 協議來支持雙向傳輸。它用於 Web 客戶端和 HTTP/3 服務器之間的雙向通信。它支持通過 不可靠的 Datagrams API

原创 基於 .NET 7 的 QUIC 實現 Echo 服務

前言 隨着今年6月份的 HTTP/3 協議的正式發佈,它背後的網絡傳輸協議 QUIC,憑藉其高效的傳輸效率和多路併發的能力,也大概率會取代我們熟悉的使用了幾十年的 TCP,成爲互聯網的下一代標準傳輸協議。 在去年 .NET 6 發佈的時候

原创 .NET 7 SDK 對容器的內置支持

大家好,我是等天黑。 .NET 又雙叒叕出新功能了, 就在前幾天,.NET 團隊發佈博客,宣稱在 .NET SDK 中內置了對 .NET 應用容器化的支持。 小試牛刀 在正式介紹它之前,先通過一個簡單的例子,看下它是如何使用的。 # 創建一

原创 基於 .NET 6 的輕量級 Webapi 框架 FastEndpoints

大家好,我是等天黑。 FastEndpoints 是一個基於 .NET 6 開發的開源 webapi 框架,它可以很好地替代 .NET Minimal APIs 和 MVC ,專門爲開發效率而生,帶來了全新的開發模式和編碼體驗。 另外對於

原创 【系統設計】S3 對象存儲

在本文中,我們設計了一個類似於 Amazon Simple Storage Service (S3) 的對象存儲服務。S3 是 Amazon Web Services (AWS) 提供的一項服務, 它通過基於 RESTful API 的接

原创 【系統設計】分佈式鍵值數據庫

鍵值存儲 ( key-value store ),也稱爲 K/V 存儲或鍵值數據庫,這是一種非關係型數據庫。每個值都有一個唯一的 key 關聯,也就是我們常說的 鍵值對。 常見的鍵值存儲有 Redis, Amazon DynamoDB,Mi

原创 【系統設計】指標監控和告警系統

在本文中,我們將探討如何設計一個可擴展的指標監控和告警系統。 一個好的監控和告警系統,對基礎設施的可觀察性,高可用性,可靠性方面發揮着關鍵作用。 下圖顯示了市面上一些流行的指標監控和告警服務。 接下來,我們會設計一個類似的服務,可以供大公

原创 【系統設計】鄰近服務

在本文中,我們將設計一個鄰近服務,用來發現用戶附近的地方,比如餐館,酒店,商場等。 設計要求 從一個小明去面試的故事開始。 面試官:你好,我想考察一下你的設計能力,如果讓你設計一個鄰近服務,用來搜索用戶附近的商家,你會怎麼做? 小明:好

原创 軟件工程師必讀的13本書

根據我的個人書架和一些研究,我列出了一些比較重要的軟件工程書籍,我相信它們可以讓讀者的專業技術更上一層樓。 1. Introduction To Algorithms 數據結構和算法是每個軟件工程師的基礎支柱,雖然這些在日常工作中用的不多

原创 6月6日,HTTP/3 正式發佈了!

經過了多年的努力,在 6 月 6 號,IETF (互聯網工程任務小組) 正式發佈了 HTTP/3 的 RFC, 這是超文本傳輸協議(HTTP)的第三個主要版本,完整的 RFC 超過了 20000 字,非常詳細的解釋了 HTTP/3。 另外

原创 在 .NET 中使用 FixedTimeEquals 應對計時攻擊

計時攻擊 在計算機安全中,計時攻擊(Timing attack)是旁道攻擊 (Side-channel attack) 的一種,而旁道攻擊是根據計算機處理過程發出的信息進行分析,包括耗時,聲音,功耗等等,這和一般的暴力破解或者利用加密算法本

原创 【系統設計】設計一個短鏈接系統

短鏈接系統可以把比較長的 URL 網址轉換成簡短的網址字符串,短鏈接的優勢是方便傳播。適合在一些對字符串長度有要求的場景中使用,比如短信,微博等,比如 https://www.cnblogs.com/myshowtime/p/1622726

原创 【系統設計】設計一個限流組件

限速器 (Rate Limiter) 相信大家都不會陌生,在網絡系統中,限速器可以控制客戶端發送流量的速度,比如 TCP, QUIC 等協議。而在 HTTP 的世界中, 限速器可以限制客戶端在一段時間內發送請求的次數,如果超過設定的閾值,多

原创 「System Design」設計一個支持百萬用戶的系統

設計一個支持數百萬用戶的系統是非常有挑戰性的, 這是一個需要不斷調整和優化的過程, 接下來的內容中, 我將構建一個系統, 從單個用戶開始,到最後支持數百萬的用戶。 從單個服務開始 千里之行,始於足下,讓我們從最簡單的單個服務開始。所有的

原创 從舊金山到上海, HTTP/3 非常快!

HTTP/3 是超文本傳輸協議 (HTTP) 的第三個版本,它對 Web 性能來說意義重大, 讓我們看看HTTP/3 如何讓網站的速度變得更快! 等等,HTTP/2 發生了什麼? 不是幾年前纔開始推廣 HTTP/2 嗎? 確實是這樣, 但