【问题标题】:CloudFoundry: Java, Ruby or Node.js?CloudFoundry:Java、Ruby 还是 Node.js?
【发布时间】:2011-10-03 18:06:01
【问题描述】:

我碰巧知道了 VMWare 的新项目 CloudFoundry

如果我想在 CloudFoundry.com 上部署应用程序,哪种语言是最佳选择?

显然,就像 Google App Engine 一样,Python 是最成熟的,而 Go 是最不成熟的。

CloudFoundry 怎么样?

开源软件 CloudFoundry 是用 Ruby 编写的,但广告总是将 Java 放在 Ruby 之前。比如“运行你的 Spring、Rails、Node.js 和 Scala 应用程序。”见下图:

这是否意味着对 Java 的支持比 Ruby 更好?

【问题讨论】:

  • 为什么票数接近?我会说这是一个很好的问题,可能应该变成一个社区 wiki 问题,因为答案可能会随着时间而改变。
  • 我投了赞成票,因为提炼出来的问题是:“公司广告中出现的语言顺序是否应该使第一种语言成为最佳选择?”
  • 据我所知,对这三种编程语言中的任何一种的支持都相当广泛。如果您正在从头开始编写一个新应用程序,我相信您的所有需求都可以用这些语言中的任何一种来满足。由于 Pivotal 与 Spring 密切相关,因此 Pivotal 为 Java Stack(例如 Spring Cloud)提供了库,这些库应该可以帮助您更快地入门——尤其是在 PCF 上。您应该查看构建包,看看对您选择的语言的支持是否足以满足您的需求。

标签: java ruby node.js cloud cloud-foundry


【解决方案1】:

我认为您对语言顺序的了解过多。与大多数其他询问“我应该选择哪种语言”的问题一样,答案更多地与您正在构建的应用程序的类型以及您在各种语言中的专业知识量有关,而不是哪种语言是“最好的”。

【讨论】:

    【解决方案2】:

    作为前 App Engine 团队成员,现在是 Cloud Foundry 团队的一员,我同意 Andrew:使用您喜欢的语言和框架,这是工作的最佳工具,Cloud Foundry 平等对待他们。

    App Engine 团队需要为底层的 Google 服务创建特定于语言的绑定,并且通常先使用 Python,然后是 Java,然后是 Go,因此在 Python 中引入一项功能到它逐渐普及之间存在时间延迟到其他语言(尽管随着产品的成熟,它最近变得更好了)。

    Cloud Foundry 使用这些框架的现有服务接口向各种语言/框架公开服务,它只是自动化服务配置和绑定(连接/配置参数不再硬编码在属性文件中,它们由 Cloud Foundry 在运行时,以特定于框架的方式)。例如,当 Cloud Foundry 中引入 RabbitMQ 时,我们不需要为每种语言的服务创建新的 API,我们只需为每种语言/框架利用现有的 AMPQ 客户端库。

    【讨论】:

      【解决方案3】:

      这里不适合与 GAE 进行比较。 GAE 和 CF 之间的区别之一是在 CF 中没有要使用的特定 API。如果您正在编写一个 RoR 应用程序,您只需编写该应用程序然后部署它。如果您正在编写 Spring 或 Grails 应用程序,也是如此。

      我的理解是,通过 VMware 提供和维护的核心集成,它们应该得到平等对待。当然,CF 仍处于测试阶段,平台之间的支持级别可能存在差异,但这可能是一个错误,而不是一个特性。

      所以,我认为 Brandon Tilley 在很大程度上是正确的,因为您应该考虑最适合您的应用的语言/平台,而不是适合 CF 的语言/平台。

      【讨论】:

        【解决方案4】:

        真的没关系,用你熟悉的。应用程序的关键是您设置的架构,而不是您在顶部使用的语言或堆栈。

        当然,另一个答案仍然是大多数开放式答案的结果,“这取决于!” :)

        【讨论】:

          【解决方案5】:

          我认为 Java 和 Spring 将是最佳选择。我会在 Ruby 或 node.js 之前这样做。 Spring Source 是不久前被 VMWare 收购的(一年前?两年前?),所以这是有道理的。

          【讨论】:

          • 我认为你不能得出这个结论。 CloudFoundry 自己的应用程序是用 Ruby on Rails 编写的,因此团队拥有一定的 Rails 专业知识。
          • 我想我可以。它至少和你的陈述一样有效。
          • 部分 CloudFoundry 组件正在 GO 中重写。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-10-17
          • 2011-02-28
          • 1970-01-01
          • 2010-11-21
          • 2018-01-09
          • 2011-11-28
          • 1970-01-01
          相关资源
          最近更新 更多