【问题标题】:Is google compute engine capable or running big server side programs?谷歌计算引擎是否有能力或运行大型服务器端程序?
【发布时间】:2017-03-04 17:24:09
【问题描述】:
  1. 我们是否需要专门编写代码来利用谷歌计算引擎中虚拟机实例的所有内核? (线程)

  2. 如果我在其中运行应用的现有实例添加新实例,系统是动态扩展其整个配置还是第二个实例独立于第一个实例运行?

    • 如果独立:有没有办法让两个实例相互通信?
  3. 是否可以在单个持久性磁盘中从多个实例读取和写入?

  4. 实例可以处理的网络流量是否有最大限制?

5) 运行在不同区域的两个实例之间的通信延迟最坏情况是什么?

【问题讨论】:

  • AFAIK,您可以选择具有预定义配置的服务器或创建针对您的特定需求优化的自定义机器类型的选项。 有不同的文档可以提供帮助你例如TutorialsHow-to GuidesAPIs and Reference 熟悉 Google Compute Engine 的功能。
  • 您也可以尝试询问Serverfault 并访问Google Cloud Platform Blog。希望这会有所帮助。
  • 我在搜索了他们的整个文档页面后来到这里,联系了他们的销售团队,搜索了整个谷歌引擎,但找不到这些问题的恰当答案。我想要一个具有 1TB RAM 的服务器,一个实例的最大 RAM 为 128 GB,所以我打算制作许多相同类型的实例来进行负载平衡。但这样的限制使我无法做到这一点。我想要科学可靠和工程恰当的答案。我更喜欢 Binary 的 Yes 或 No。

标签: google-app-engine google-cloud-storage google-compute-engine google-cloud-datastore google-contacts-api


【解决方案1】:

答案是肯定的。计算引擎能够运行“大型”服务器端程序。

现在阅读标题下方的文字,我建议您查看 AppEngine。它可以根据负载进行缩放。您可以使用 Memcache 或 Datastore 在所有实例之间(甚至跨区域)快速存储和共享数据。

【讨论】:

  • 我应该在使用 openCL 之类的库同时在分布于不同实例的不同内核中进行并行计算时获得优势吗?
  • 不,AppEngine 的美妙之处在于您可以在不考虑线程的情况下进行扩展——只要每个进程都可以独立运行大量工作。您可以将数百万个任务放入 TaskQueue 中,AppEngine 将生成所需的资源(达到您指定的潜在最大值)来处理负载。如果您需要更多地控制并行处理的工作方式(例如,如果您需要 map-reduce 类型的工作负载),您可以考虑使用“Bigtable”。最后,如果您只有海量数据并且需要快速扫描,那么“BigQuery”就是您的工具。架构/工具取决于您的问题。
  • 您能否准确解释一下(每个进程)和(任务队列)的含义。我有一个 MMORTS 的源代码,它是用 c 和 cpp 编写的,并被编译成带有一些支持文件的单个 .exe。我怎样才能从谷歌计算引擎中获得最大的性能? .
  • 很抱歉,您真正需要的是与技术架构师进行数小时的咨询。您的问题尚不清楚,此外很难优化其他人的代码,尤其是设计为整体可执行文件的代码。一般来说,速度之路是并行化。为此,您需要将程序分解为单独的可执行组件。只有这样,云平台才会有所帮助。
猜你喜欢
  • 1970-01-01
  • 2016-08-14
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 2015-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多