DIOCP開源項目-利用隊列+0MQ+多進程邏輯處理,搭建穩定,高效,分佈式的服務端

 


 

最近頭腦裏面一直在想怎麼樣讓能讓你們基於DIOCP上寫出穩定的服務端程序。不少朋友問我,你DIOCP穩定嗎,我能夠用他來作三層服務器嗎? 當時我是這樣回答的,我只能保證DIOCP底層通訊的穩定。程序員

說實話,服務端要穩定,並不容易,寫過服務端的程序員都清楚。特別是這種能夠直接操做指針,本身分配內存和釋放內存的語言(想C++, C, Delphi),一不當心就一個坑,一個坑可能就會引起,內存的釋放越界,訪問非法地址。致使整個進程的直接奔潰。服務器

 


 

通過一些研究和諮詢,我能夠利用多進程來實現通訊層和邏輯層的完全獨立,還能夠將邏輯層分佈到局域網的其餘電腦,進行邏輯的分佈式。通信層單獨的作數據轉發,即便邏輯層,一不當心奔潰,還能夠投遞到另外的邏輯處理服務進程, 多進程直接使用socket(0MQ)進行通訊。這樣你們能夠專一於邏輯進程的編寫,甚至能夠單個邏輯進程採用單線程的方式編寫,這樣就能夠避免多線程代理的居多麻煩,而後用0MQ投遞到通信層進行數據的返回。多線程

 

草圖以下:socket

DEMO代碼正在編寫中,請關注DIOCP項目。分佈式

>>>>>>DIOCP討論羣:320641073google

>>>>>>SVN源碼和DEMO下載:https://code.google.com/p/diocp/spa

相關文章
相關標籤/搜索