注意:这个问题很大程度上受到我构建的 Web 应用程序的主要要求的影响:高可用性和容错性。所有其他要求(如可扩展性和用户数量)在这里都不是问题。
我从这个社区的一位成员那里得到并建议使用 Erlang Web 服务器作为我的 Web 应用程序的后端。
建议是我可以使用 Mochiweb 作为后端,使用 Django/Ruby on Rails 作为前端,使用 JSON 和面向服务的模型。
我能理解的这种方法的唯一明显优势是前端部分的开发“照常”——常规的 MVC 东西、Ruby on Rails 或任何其他人选择的通用框架。
但是其他优势呢?它们真的存在吗?
当然,Erlang/OTP 为所讨论的系统增加了容错能力,但是添加 Web 前端层不会将这个容错级别降低到低得多的水平吗?
难道我们不是通过将 Ruby on Rails 与 Mochiweb 耦合来引入“单点故障”吗?当然,Mochiweb 可以处理故障,但是如果前端出现问题怎么办?