正如您所提到的,默认文档位于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
源代码是开放的,因此您可以深入了解确切的内部工作原理。