SQLite 作者最新開源力作!只有一個 C 文件的 Web 服務器

前段時間看到推特上的一個分享,非常不錯!

SQLite 大家應該都知道吧?SQLite 是一款輕型的數據庫,是遵守 ACID 的關係型數據庫管理系統,它包含在一個相對小的 C 庫中。它的設計目標是嵌入式的,而且已經在很多嵌入式產品中使用了它,它佔用資源非常的低。

SQLite 是在 2000 年發佈的,到目前爲止已經有 19 年了。

像大家現在使用的微信,它本地就是通過 SQLite 來存儲的數據。

注意:微信本身的服務器就不能使用 SQLite,畢竟,併發量太大,SQLite 沒辦法滿足。

SQLite 的作者是 D. Richard Hipp(理查德希普),作者非常的有個性,用到的軟件工具都是自己寫,他寫了不少工具,比如 SQLite、Bug 追蹤系統 CVSTrac、版本管理系統 Fossil。

今天要推薦的就是理查德希普最新開源的 Web 服務器 althttpd,我們可以先來看下這個項目的時間線。

可以看出來開源工作是最近纔開始的,但是實際上 althttpd 從 2004 年開始就在支撐 https://sqlite.org/ 網站的運行,althttpd 的設計目標就是爲了簡單、安全同時低資源消耗。

在 2018 年,sqlite.org 每天要響應 50 萬的 HTTP 請求,而只用了價值 40 美金的服務器,而且服務器處於很低的負載(0.1 或者 0.2),可以看出其性能還是不錯的。

我們來看下 althttpd 的代碼,項目實際只有一個 c 文件,整體行數也不多,是一個非常不錯的學習項目。

而且項目中有一個介紹文件 althttpd.md,詳細介紹了 althttpd 的設計哲學、項目使用說明等。

從 althttpd 的設計哲學可以看出來,作者是一個很剋制的人,並不是希望去做一個功能非常豐富的 Web 服務器,而是希望 althttpd 在滿足功能要求的前提下,能夠儘量保持代碼的簡潔,這是非常值得我們學習的。

更多項目詳情請查看如下鏈接。

項目地址:https://sqlite.org/althttpd/doc/trunk/althttpd.md 。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/1XUl7txAV2TrA0gv8iwyKQ