ESFramework 是一套性能卓越、稳定可靠、强大易用的跨平台通讯框架,支持应用服务器集群。其内置了消息的收发与自定义处理(支持同步/异步模型)、消息广播、P2P通道、文件传送(支持断点续传)、心跳检测、断线重连、登陆验证、在线用户管理、好友与群组管理、性能诊断等功能。基于ESFramework,您能够方便快捷地开发出各类优秀的网络通讯应用。此外,咱们在长期实践中所积累的丰富经验,更将成为您强大的技术保障,从开发到上线直至后续运维,全程为您保驾护航,让您高枕无忧。具体而言,ESFramework 具备以下特性:(可跳过概要介绍,直接进入开发手册目录 或 Demo下载)安全
ESFramework底层使用IOCP模型,使得数据收发与处理达到最高性能。当前主流配置的服务器(如至强4核双CPU、4-8G内存)可轻松处理10000个同时在线链接,每秒处理50000个以上的请求。固然,最终能达到的并发,更取决于具体应用的业务逻辑,若是业务逻辑复杂、处理单个请求都对CPU和内存的消耗都比较高,那么就会致使并发数降低,这时也许就要优化咱们的业务逻辑代码了、或者使用更多的服务器来分担负载(好比迁移到ESPlatform)。关于ESFramework的性能测试的更多内容能够参见ESFramework 4.0 性能测试。性能优化
ESFramework起始于2004年,从0.1版本不断完善和优化到今天4.0版本已经有8年时间,其内核(ESFramework.dll)已经至关成熟稳定,全部已经发现的内核bug都已被解决,并且自2009年以来,没有新的内核的bug被发现。另外,ESFramework只会在须要时才使用必要的资源(如CPU、内存),而且会及时释放持有的资源,不会有内存泄露等状况发生。若是您的业务逻辑代码没有bug,那么基于ESFramework的服务端正常运行一年,都不用重启一次。服务器
现有的大多数通讯框架仅仅解决了通讯层的问题,并且几乎都是部分地解决。而ESFramework不只仅完整地解决了通讯层的需求,而且也解决了绝大多数通讯系统中都关注的应用层的重要问题,这使得基于ESFramework开发分布式通讯系统更迅速、更高效。网络
在通讯层:ESFramework 支持TCP/UDP、文本协议/二进制协议、服务端/客户端以及它们组合的任意方式,并提供多种通讯引擎供服务端开发人员和客户端开发人员使用。并发
在应用层:ESFramework 内置了在线用户管理、消息拦截、消息同步调用、回复异步调用、通道智能选择、客户端登陆验证、心跳检测、消息优先级、断线自动重连、在线状态改变自动通知(好友与组友)、重登录模式选择、完整的异常日志、文件传送(支持断点续传)、组广播、带ACK机制的信息发送、高效的二进制序列化器、等等功能。负载均衡
在安全性:ESFramework 内置了常见的重要安全机制以防止恶意用户在应用层对服务端进行试探或攻击。这些机制有:消息格式完整验证、消息加密、验证未绑定的消息、绑定链接、关闭空链接等。框架
ESFramework提供了基于TCP和UDP的P2P通讯(不只是局域网,还支持广域网P2P通讯),并且基于UDP的P2P作了加强,以保证基于UDP的P2P通讯也像TCP同样可靠。在客户端之间须要高频通讯的分布式系统中(如IM系统等),可靠的P2P通讯将为您节省巨大的带宽和服务器成本。运维
ESPlatform平台支持基于ESFramework的应用程序的Cluster(群集),其内置了3种最经常使用的负载均衡策略。仅仅经过修改几行代码就能够将一个基于ESFramework的应用程序平滑迁入到ESPlatform平台中,以实现多台应用服务器的Cluster,从而应对日益增加的巨大并发。使用ESPlatform群集,咱们能够很是方便地在运行时动态添加/移除应用服务器(AS)实例节点。异步
跨平台是ESFramework的重要目标之一,ESFramework经过提供多平台的客户端引擎来实现这一点。基于ESFramework开发的不一样平台的客户端之间能够相互通讯,如此,异构环境将变得透明化。ESFramework已支持的平台以下图所示:分布式
ESFramework框架在服务端内置了性能跟踪诊断功能。若是基于ESFramework构建的服务端在运行时,遇到性能问题或某些故障,那么能够开启诊断功能,ESFramework将自动跟踪每种类型消息的处理状况,以后经过分析日志,就能够很快发现问题所在。
ESFramework 能够用于任何须要分布式通讯的软件系统中,并且其群集功能还能够支持那些同时在线用户数巨大的系统。好比,即时通信系统(IM),大型多人在线游戏(MMORPG)、在线网页游戏(WebGame)、文件传送系统(FTS)、数据采集系统(DGS)、分布式OA系统等等。
ESFramework提供的全部接口和API都具备良好的编码风格,与.NET Framework彻底一致。咱们提供了MSDN风格的帮助文档、Demo源码、ESFramework开发手册系列文章供您研究和学习使用ESFramework进行开发。
咱们在过去的10+年里,基于ESFramework开发了不少网络通讯系统,也为诸多客户提供技术支持和运行故障排查服务,因此,在如下方面积累了丰富的经验:如基于ESFramework的最佳开发实践、服务端性能瓶颈排查、服务端运行故障排查、性能优化等等。若是您是第一次基于ESFramework进行二次开发,那么,咱们分享的这些经验将为您的项目上线运行提供更强大的后续保障。
补充说明:关于ESFramework更详细的介绍,请参见详细说明。或转到 Demo下载
若是对您的项目来讲,ESFramework过重量级,敬请了解轻量级通讯引擎StriveEngine。