pyxxnet_project純 Python 實(shí)現(xiàn)的網(wǎng)絡(luò)服務(wù)框架
這是一個(gè)純Python實(shí)現(xiàn)的網(wǎng)絡(luò)服務(wù)框架,支持多進(jìn)程運(yùn)行,通過消息隊(duì)列把任務(wù)散發(fā)到多個(gè)進(jìn)程做執(zhí)行,
內(nèi)置對(duì)網(wǎng)絡(luò)收發(fā)指標(biāo),任務(wù)執(zhí)行情況的在線統(tǒng)計(jì),適合用以做一些內(nèi)部的微服務(wù)。
這份代碼的設(shè)計(jì)原型是一份久經(jīng)線上項(xiàng)目考驗(yàn)的linux c++網(wǎng)絡(luò)服務(wù)框架,換以python重寫的初衷是易于開發(fā)一個(gè)測試用的壓測框架。
你可以自己設(shè)計(jì)http2.0協(xié)議,使得這個(gè)網(wǎng)絡(luò)服務(wù)框架成為一個(gè)httpservice;你也可以自己設(shè)計(jì)通信協(xié)議,得到滿足你項(xiàng)目需求的高性能的服務(wù)。 當(dāng)然更強(qiáng)大的是,幾行代碼就可以讓你擁有自定義的服務(wù)。
本服務(wù)的網(wǎng)絡(luò)庫叫做pyxxnet3,位于pyxxnet_lib目錄下,你可以執(zhí)行python setup.py install使得它安裝于python的sitepackage目錄下,或者你可以直接把pyxxnet3目錄拷貝到你的工程目錄下。
pyxxnet3在python 2.7以上 或者python 3.x的版本,都得到順利運(yùn)行。后續(xù)將補(bǔ)充一些可視化的管理后臺(tái),與對(duì)比測試,優(yōu)化。
如何使用這個(gè)網(wǎng)絡(luò)庫?
最簡單的方法,是參照例子:sample_echoserver下的代碼,大部分的網(wǎng)絡(luò)服務(wù)的實(shí)現(xiàn)都與sample_echoserver代碼相似,或者說,你可以選擇直接把sample_echoserver復(fù)制一份,基于此做開發(fā)。
就是這樣的簡單。
啟動(dòng)一個(gè)服務(wù)
python pyechosvr.py
python my_test.py
就開啟了一個(gè)測試客戶端,快來嘗試下這個(gè)項(xiàng)目吧!
