程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> DIOCP開源項目-利用隊列+0MQ+多進程邏輯處理,搭建穩定,高效,分布式的服務端

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

編輯:Delphi

 


 

最近頭腦裡面一直在想怎麼樣讓能讓大家基於DIOCP上寫出穩定的服務端程序。很多朋友問我,你DIOCP穩定嗎,我可以用他來做三層服務器嗎? 當時我是這樣回答的,我只能保證DIOCP底層通信的穩定。

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

 


 

經過一些研究和咨詢,我可以利用多進程來實現通信層和邏輯層的徹底獨立,還可以將邏輯層分布到局域網的其他電腦,進行邏輯的分布式。通訊層單獨的做數據轉發,即使邏輯層,一不小心奔潰,還可以投遞到另外的邏輯處理服務進程, 多進程直接使用socket(0MQ)進行通信。這樣大家可以專注於邏輯進程的編寫,甚至可以單個邏輯進程采用單線程的方式編寫,這樣就可以避免多線程代理的居多麻煩,然後用0MQ投遞到通訊層進行數據的返回。

 

草圖如下:

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

>>>>>>DIOCP討論群:320641073

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved