我们正在计划一个新的 API 服务器,它主要服务于 JSON 响应,带有一个 RESTful 接口。我们担心规模和可用性。我们使用带有 Jetty(或其他连接器)的 Restlet 是否走在正确的轨道上?
我们要问的一个问题是,Java 世界中是否有像 Phusion Passenger 这样的东西?例如,用于保持服务器实例正常运行的预构建解决方案?
我们正在计划一个新的 API 服务器,它主要服务于 JSON 响应,带有一个 RESTful 接口。我们担心规模和可用性。我们使用带有 Jetty(或其他连接器)的 Restlet 是否走在正确的轨道上?
我们要问的一个问题是,Java 世界中是否有像 Phusion Passenger 这样的东西?例如,用于保持服务器实例正常运行的预构建解决方案?
您的问题实际上与 Restlet 无关,而是关于设计一个高可扩展性、高可用性的站点。我们发现 Restlet 在正确的系统架构下确实可以很好地扩展。
一般来说,您希望:
REST 是一种架构风格,非常适合这种类型的设置。
正如@matt 提到的,您确实需要注意原始性能,但通常您首先要关注的是获得可扩展的高可用性架构。
这方面的一些很好的来源是:
特别是:
Overstock.com 运行着一个高度扩展的网站,并大量使用 Restlet来完成它。
可扩展性和性能最终将更多地取决于处理这些请求的应用程序的设计方式、算法、是否有效地访问数据库、如何/是否缓存数据等,而不是 servlet 容器或框架的选择。