为负载较重的服务器选择Java Restful框架

问题描述

| 我试图弄清楚哪种Java Restful框架最适合重载的Identity Manager服务器。 是否有人为Restful框架运行了负载测试并愿意分享结论? 非常感谢!     

解决方法

        好问题!您可能会发现,框架的选择不是决定性能/可伸缩性的主要因素。我们使用Restlet是基于前同事的强烈建议,该同事使用它来开发Overstock.com(大型电子商务网站)。它具有良好的性能,并且在Overstock.com上运行良好。但是我们没有进行任何直接的比较。 REST的主要推动力之一是它的可扩展性,即分布式系统的质量,通过它,您可以适应使用量的增加以及系统大小和成本的成比例增加。缓存是实现可伸缩性的关键技术。因此,如果您允许对表示形式进行缓存,则实际上大部分负载不是由身份管理系统承担,而是由下游Web缓存承担。这独立于REST框架。 后端数据库技术可能是影响系统性能和扩展性的另一个主要因素。调整数据库系统和优化查询可能会在这里取得回报。还考虑添加数据库缓存层是否有意义(例如,OpenSymphony)。 我们发现序列化成本对我们来说是相当可观的。如果我们使用Kryo或Smile二进制序列化,则总体请求率是最好的。如果您需要文本序列化,我们发现Jackson JSON序列化器比XStream XML序列化器要快得多,从而使总体请求速率加倍。这可能是要考虑的领域。 因此,如果尚未这样做,请从扩展角度检查系统。首先,请参阅http://www.highscalability.com、Richardson和Ruby \'s Restful Web Services(O \'Reilly),Cal Henderson \'s Building可扩展网站和Theo Schlossnagle \'s可扩展Internet体系结构。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...