ESFramework ——可堪重任的網絡通訊框架

ESFramework 是一套性能卓越、穩定可靠、強大易用的跨平臺通訊框架,支持應用服務器集羣。其內置了消息的收發與自定義處理(支持同步/異步模型)、消息廣播、P2P通道、文件傳送(支持斷點續傳)、心跳檢測、斷線重連、登陸驗證、在線用戶管理、好友與羣組管理、性能診斷等功能。基於ESFramework,您能夠方便快捷地開發出各類優秀的網絡通訊應用。此外,咱們在長期實踐中所積累的豐富經驗,更將成爲您強大的技術保障,從開發到上線直至後續運維,全程爲您保駕護航,讓您高枕無憂。具體而言,ESFramework 具備以下特性:(可跳過概要介紹,直接進入開發手冊目錄 或 Demo下載安全

1.高性能

ESFramework底層使用IOCP模型,使得數據收發與處理達到最高性能。當前主流配置的服務器(如至強4核雙CPU、4-8G內存)可輕鬆處理10000個同時在線鏈接,每秒處理50000個以上的請求。固然,最終能達到的併發,更取決於具體應用的業務邏輯,若是業務邏輯複雜、處理單個請求都對CPU和內存的消耗都比較高,那麼就會致使併發數降低,這時也許就要優化咱們的業務邏輯代碼了、或者使用更多的服務器來分擔負載(好比遷移到ESPlatform)。關於ESFramework的性能測試的更多內容能夠參見ESFramework 4.0 性能測試性能優化

2.可靠、穩定

ESFramework起始於2004年,從0.1版本不斷完善和優化到今天4.0版本已經有8年時間,其內核(ESFramework.dll)已經至關成熟穩定,全部已經發現的內核bug都已被解決,並且自2009年以來,沒有新的內核的bug被發現。另外,ESFramework只會在須要時才使用必要的資源(如CPU、內存),而且會及時釋放持有的資源,不會有內存泄露等狀況發生。若是您的業務邏輯代碼沒有bug,那麼基於ESFramework的服務端正常運行一年,都不用重啓一次。服務器

3.功能強大豐富

現有的大多數通訊框架僅僅解決了通訊層的問題,並且幾乎都是部分地解決。而ESFramework不只僅完整地解決了通訊層的需求,而且也解決了絕大多數通訊系統中都關注的應用層的重要問題,這使得基於ESFramework開發分佈式通訊系統更迅速、更高效。網絡

在通訊層:ESFramework 支持TCP/UDP、文本協議/二進制協議、服務端/客戶端以及它們組合的任意方式,並提供多種通訊引擎供服務端開發人員和客戶端開發人員使用。併發

在應用層:ESFramework 內置了在線用戶管理、消息攔截、消息同步調用、回覆異步調用、通道智能選擇、客戶端登陸驗證、心跳檢測、消息優先級、斷線自動重連、在線狀態改變自動通知(好友與組友)、重登錄模式選擇、完整的異常日誌、文件傳送(支持斷點續傳)、組廣播、帶ACK機制的信息發送、高效的二進制序列化器、等等功能。負載均衡

在安全性:ESFramework 內置了常見的重要安全機制以防止惡意用戶在應用層對服務端進行試探或攻擊。這些機制有:消息格式完整驗證、消息加密、驗證未綁定的消息、綁定鏈接、關閉空鏈接等。框架

4.可靠的P2P

ESFramework提供了基於TCP和UDP的P2P通訊(不只是局域網,還支持廣域網P2P通訊),並且基於UDP的P2P作了加強,以保證基於UDP的P2P通訊也像TCP同樣可靠。在客戶端之間須要高頻通訊的分佈式系統中(如IM系統等),可靠的P2P通訊將爲您節省巨大的帶寬和服務器成本。運維

5.高伸縮性的羣集平臺

ESPlatform平臺支持基於ESFramework的應用程序的Cluster(羣集),其內置了3種最經常使用的負載均衡策略。僅僅經過修改幾行代碼就能夠將一個基於ESFramework的應用程序平滑遷入到ESPlatform平臺中,以實現多臺應用服務器的Cluster,從而應對日益增加的巨大併發。使用ESPlatform羣集,咱們能夠很是方便地在運行時動態添加/移除應用服務器(AS)實例節點。異步

6.跨平臺

跨平臺是ESFramework的重要目標之一,ESFramework經過提供多平臺的客戶端引擎來實現這一點。基於ESFramework開發的不一樣平臺的客戶端之間能夠相互通訊,如此,異構環境將變得透明化。ESFramework已支持的平臺以下圖所示:分佈式

    

 

7.服務端性能診斷

ESFramework框架在服務端內置了性能跟蹤診斷功能。若是基於ESFramework構建的服務端在運行時,遇到性能問題或某些故障,那麼能夠開啓診斷功能,ESFramework將自動跟蹤每種類型消息的處理狀況,以後經過分析日誌,就能夠很快發現問題所在。

8.適用範圍廣

ESFramework 能夠用於任何須要分佈式通訊的軟件系統中,並且其羣集功能還能夠支持那些同時在線用戶數巨大的系統。好比,即時通信系統(IM),大型多人在線遊戲(MMORPG)、在線網頁遊戲(WebGame)、文件傳送系統(FTS)、數據採集系統(DGS)、分佈式OA系統等等。

9.文檔齊全、接口清晰規範

ESFramework提供的全部接口和API都具備良好的編碼風格,與.NET Framework徹底一致。咱們提供了MSDN風格的幫助文檔、Demo源碼、ESFramework開發手冊系列文章供您研究和學習使用ESFramework進行開發。

10.歷史經驗分享

咱們在過去的10+年裏,基於ESFramework開發了不少網絡通訊系統,也爲諸多客戶提供技術支持和運行故障排查服務,因此,在如下方面積累了豐富的經驗:如基於ESFramework的最佳開發實踐、服務端性能瓶頸排查、服務端運行故障排查、性能優化等等。若是您是第一次基於ESFramework進行二次開發,那麼,咱們分享的這些經驗將爲您的項目上線運行提供更強大的後續保障。 

 

補充說明:關於ESFramework更詳細的介紹,請參見詳細說明或轉到 Demo下載 

若是對您的項目來講,ESFramework過重量級,敬請了解輕量級通訊引擎StriveEngine

相關文章
相關標籤/搜索