繁体   English   中英

可扩展的API服务器,带有Restlet?

[英]Scalable API server, with Restlet?

我们正在计划一个主要用于JSON响应的新API服务器,它具有RESTful接口。 我们关注规模和可用性。 我们是否使用Restlet with Jetty(或其他连接器)在正确的轨道上?

我们要问的一个问题是,Java世界中有什么像Phusion Passenger? 例如,一个预先构建的解决方案,用于保持服务器实例正常运行?

您的问题实际上并不是关于Restlet,而是关于设计高可扩展性,高可用性的站点。 我们发现Restlet使用正确的系统架构可以很好地扩展。

一般来说,你想:

  • 运行一 Web服务器计算机,而不仅仅是一台。
  • 确保您的应用程序没有任何共享 ,即,如果可能的话,不会在Web服务器中存储应用程序状态。
  • 使用负载平衡器将请求分散到负载最少的Web服务器。
  • 确保您的JSON响应可缓存
  • 在站点的边界添加HTTP 反向代理缓存 (例如,Squid)。 当您的站点和客户之间的缓存预热时,大多数入站流量将由它们处理,而不是您的Web服务器。
  • 编写客户端代码以重试失败的请求 这样,如果Web服务器死机,下一个请求将被负载平衡到幸存的机器。
  • 当然,您希望自动化您的站点以启动崩溃的Web服务器等(这可能是在ServerFault.com上更好的部分。)

REST是一种体系结构样式,非常适合此类设置。

正如@matt所提到的那样,你需要注意原始性能,但通常你应该首先关注的是如何实现可扩展的高可用性架构。

一些很好的消息来源是:

特别是:

Overstock.com运行一个高度扩展的网站, 并大量使用Restlet来完成它。

可伸缩性和性能最终将更多地依赖于处理这些请求的应用程序是如何设计的,其算法,如果它有效地访问数据库,如何/如何缓存数据等,而不是选择servlet容器或框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM