簡單的 C++ 網絡服務框架 Sim 介紹
原文 http://www.ideawu.net/blog/archives/883.html
可測性
Sim 采用了一種極簡的報文格式, 在你沒有開始寫 Client 時, 你就可以利用手上現成的工具, 如 nc, telnet 來測試. 可測性非常重要, 你可以隨時查看代碼的執行效果, 這對開發者的心理會產生非常正面的促進作用. 即使你不想使用 nc 這樣的命令, 你想寫 PHP 或者 Python 腳本, 也是非常簡單的.
例如, 你采用 Sim 框架寫了一個計算加法的服務器. 這時怎么測試呢? 很簡單! 在命令行執行
$ nc 127.0.0.1 8800 add 1 3 ok 4
隨時隨地地通過實際的輸入和輸出來測試程序, 會讓程序員的心理更愉悅. 如果通過枯燥的單元測試, 進行大量參數配置, 只會讓人心慌, 影響開發效率.
內置 Log/Config 工具
Sim 采用了 SSDB 項目 的日志和配置代碼, 讓你的服務器立即就擁有日志輸出功能和可配置性. 日志非常重要, 我幾乎不使用 gdb 這樣底層的調試工具. 有了 Config, 像修改端口這樣的簡單需求, 就不用再修改代碼重新編譯了.
進程管理
Sim 提供了的工具可以讓你的程序啟動為后臺進程, 不用借助 supervisor, nohup 這樣的額外工具.
關于性能
記住, 不要一開始就關心性能, 計算機和 C++ 比你相像的要快得多!
其它
Sim 的應用場景是訂閱-分發模式, 對于請求響應模式, 你需要做一些功夫. 但接下來會提供的.
Sim 完全開源, 基于 New BSD 協議.
</div> </div>