11

AppScale主页上,有一个指向其文档页面的链接。但是,此页面仅包含有关

  1. 如何安装AppScale
  2. 关于如何处理各种特定内容的“高级”部分。

我发现它的结构有些随意,但更重要的是:我看不到所有基本文档的位置。它只是结构不佳,还是实际上不存在?例如,我没有找到以下内容:

  • AppScale 的基本架构是什么?它是如何工作的,真的吗?(除此之外它类似于 GAE)
  • AppScale 在生产环境中安装后如何升级?我可以一次迭代地做一台机器吗?我想拥有一个包含多个版本的 AppScale(和相关服务)的集群可能会导致问题。
  • AppScale 是否“只是”(对“只是”没有负面影响)是一组程序/服务(数据库、网络服务器、缓存等),与一个漂亮的 web-GUI 前端捆绑在一起以便于管理?或者还有更多?
  • 如何配置它以使所有虚拟机的配置保持一致?
  • 在哪里可以找到有关负载均衡器工作原理的更多信息?它究竟在平衡什么服务的负载?如何?
  • 例如,如何配置 Cassandra 数据库?是否只是像我通常那样配置 Cassandra,与 AppScale 无关?
  • 我在 AppScale 配置中指定的 IP 地址,它们究竟以何种方式与服务相关?它们是“只是”AppScale 对相应服务的访问点,还是实际上以某种方式引导到这些服务以成为配置的一部分?
  • 而这样的例子不胜枚举...

简而言之,我真的很想念一些关于 AppScale 是如何工作的文档,一切是如何连接起来的,以及我应该如何使用它。也许我只是在寻找所有错误的地方?

4

1 回答 1

12

正如您所提到的,默认文档位于github wiki上。

一般而言,您可以在此处找到有关架构和 AppScale 的较早论文:

有多篇文章详细介绍了 AppScale 中的功能

自从该项目从大学出来并发展成为一家公司以来,重点一直是可用性和稳健性。自从上面列出的出版物以来,发生了很多变化。

AppScale 的基本架构是什么?它是如何工作的,真的吗?(除此之外它类似于 GAE)

AppScale 是您的基本三层 Web 架构(负载均衡器、应用程序服务器、数据存储),以及支持最流行的 GAE API(memcache、taskqueue、blobstore 等)的附加服务。

AppScale 在生产环境中安装后如何升级?我可以一次迭代地做一台机器吗?我想拥有一个包含多个版本的 AppScale(和相关服务)的集群可能会导致问题。

尽管我们确实在实验室中进行了实时迁移(请参阅上面的 hotcloud 论文),但我们还没有滚动升级。目前,您必须关闭 AppScale,更新每台机器,然后重新启动它。

AppScale 是否“只是”(对“只是”没有负面影响)是一组程序/服务(数据库、网络服务器、缓存等),与一个漂亮的 web-GUI 前端捆绑在一起以便于管理?或者还有更多?

AppScale 将许多流行且强大的分布式技术结合在一起,以提供可扩展的 GAE 克隆。这些技术包括:Cassandra、memcached、ZooKeeper、RabbitMQ、celery、ejabberd 等等。它会自动配置和部署每个必需的服务,以使 GAE 应用程序无需修改即可工作。

如何配置它以使所有虚拟机的配置保持一致?

初始化后,我们有一个标志,您可以设置“scp : ~/appscale”,您可以在其中告诉 AppScale 工具将修改后的代码版本(不同于 VM 上运行的代码)复制到所有机器的位置。如果您的意思是在运行时进行修改,我建议使用分布式 ssh 等工具来执行此操作。见: http: //www.netfort.gr.jp/~dancer/software/dsh.html.en

在哪里可以找到有关负载均衡器工作原理的更多信息?它究竟在平衡什么服务的负载?如何?

负载平衡使用 nginx 和 HAProxy 进行。Nginx 在头节点上运行,用于静态文件服务、应用程序路由配置和 SSL。HAProxy 用于健康检查,其统计信息用于自动缩放。Web 请求的路径是 Nginx -> HAProxy -> Web Server。

例如,如何配置 Cassandra 数据库?是否只是像我通常那样配置 Cassandra,与 AppScale 无关?

AppScale 自动配置和部署 Cassandra。如果您想更改我们用于 Cassandra 的默认值,请修改 appscale/AppDB/cassandra 下的代码。

我在 AppScale 配置中指定的 IP 地址,它们究竟以何种方式与服务相关?它们是“只是”AppScale 对相应服务的访问点,还是实际上以某种方式引导到这些服务以成为其配置的一部分?

角色由这种高级配置决定。任何应用程序的访问点始终通过头节点。但是,该应用程序可以访问根据您在初始化时配置 AppScale 的方式放置的不同服务。

而这样的例子不胜枚举...

您可以通过电子邮件发送这些问题的邮件列表

或者在 freenode.net 上访问我们的 IRC 频道 #appscale

源代码是开放的,因此您可以深入了解确切的内部工作原理。

于 2013-10-01T23:20:39.373 回答