智能网站搭建平台莱芜区平台公司
news/
2025/10/5 1:23:34/
文章来源:
智能网站搭建平台,莱芜区平台公司,wordpress优秀博客,企业自己做网站方法简介是dotNet core下基于Beetlex实现的一个高度精简化和高吞吐的HTTP API服务开源组件#xff0c;它并没有完全实现HTTP SERVER的所有功能#xff0c;而是只实现了在APP和WEB中提供数据服务最常用两个指令GET/SET#xff0c;满足在应用实现JSON,PROTOBUF和MSGPACK等基于HTTP… 简介是dotNet core下基于Beetlex实现的一个高度精简化和高吞吐的HTTP API服务开源组件它并没有完全实现HTTP SERVER的所有功能而是只实现了在APP和WEB中提供数据服务最常用两个指令GET/SET满足在应用实现JSON,PROTOBUF和MSGPACK等基于HTTP的数据交互功能虽然是一个精简版本但针对SSL这方面的安全性还是支持。有牺牲就必然有收获FastHttpApi作出这么大的精简必然在性能上有所收获取经测试FastHttpApi在GET/POST这些数据交互的场景下性能和吞吐能力是Asp.net core集成的Kestrel的要优胜许多。https://github.com/IKende/FastHttpApi使用便利性FastHttpApi虽然在HTTP方面作了大量的精简但并没有为此增加了它使用的复杂度。FastHttpApi具备asp.net core webapi的便利性应用人员只需要制定和webapi一样的方法即可在使用过程中和写普通逻辑方法没有多大的区别。定义一个控制器控制器用来定义具体相应URL处理的方法只需要在类上定义Controller属性即可把类中的Public方法提供给Http访问;方法参数来源于QueryString,当参数标记为BodyParameter的时候参数来源于Http Body.Filter定义Filter是Controller处理方法的拦载器通Filter可以对所有方法进行统一拦载处理如权限日志等。启动服务制定HTTP Body转换器转换器是组件最常用的自定义功能通过它可以实现不同种类的数据格式如json,protobuf和msgpack等。以下是一个json转换器的实现性能对比测试由于dotnet core下面没有其他简化的http api组件只能拿Kestrel asp.net core来作对比虽然对asp.net core不公平但这样的对比测也只是为了体现简化后的性能回报测试服务器是阿里云的4核虚拟机8G内存,测试工具是AB测试功能主要是针对GET/POST的json数据处理。由于Kestrel asp.net core默认不支持AB的Keep-Alive选项所以测试结果就并没有针对asp.net core的Keep-Alive测试Kestrel asp.net core代码FastHttpApi 代码Kestrel asp.net core GET测试结果FastHttpApi GET测试结果FastHttpApi GET测试结果开启Keep-AliveKestrel asp.net core POST测试结果FastHttpApi POST测试结果FastHttpApi POST测试结果开启Keep-Alive针对Kestrel的对比测试对比一下两者在accept connection上的性能差异开启了两个AB实例同时进行压测结果是FastHttpApi在处理并发数快高于Kestrel快一倍的情况CPU使用率只有Kestrel的一半。Kestrel代码FastHttpApi代码 // /hello?namepublic string Hello(string name){ return DateTime.Now hello name;}Kestrel测试结果FastHttpApi测试结果原文地址:https://www.cnblogs.com/smark/p/9660929.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/927762.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!