Ответ 1
Документация по умолчанию, как вы упоминаете, в github wiki.
В архитектуре и AppScale есть более старые статьи, которые вы можете найти здесь:
- Белая бумага 2009
- Технический документ 2013
- Управление данными 2012
- Документ о миграции 2012
- Аналитический документ 2012
- Документ для размещения 2012
- Документ Datastore 2011
- Документ Datastore 2010
- Документ Datastore 2010
- Книга Chapter 2012
В AppScale есть несколько статей с подробными характеристиками
- Статические IP-адреса в AppScale
- API Datastore
- Использование AppScale для monit-1
- Использование AppScale для monit-2
- Autoscaling
- AppScale на Docker
- API каналов
- Композитные запросы
- API TaskQueue
Поскольку проект выходил из университета и выходил в компанию, основное внимание уделялось удобству использования и надежности. Многое изменилось после публикаций, перечисленных выше.
Какова основная архитектура AppScale? Как это работает? (Кроме того, он похож на GAE)
AppScale - это ваша базовая трехуровневая веб-архитектура (балансировщик нагрузки, серверы приложений, хранилище данных), а также дополнительные службы для поддержки самых популярных API GAE (memcache, taskqueue, blobstore и т.д.).
Как обновить AppScale после его установки в производственной среде? Могу ли я сделать это итеративно, одна машина в то время? Я думаю, что наличие кластера с несколькими версиями AppScale (и сопутствующих сервисов) может привести к проблемам.
У нас нет обновленных обновлений (хотя), хотя у нас была живая миграция, работающая в лаборатории (см. статью hotcloud выше). В настоящее время вы должны удалить AppScale, обновить каждую машину и перезапустить ее.
Является ли AppScale "просто" (ничего отрицательного о "просто" ) набором программ/служб (БД, веб-сервер, кеш и т.д.), в комплекте с приятным интерфейсом для веб-графического интерфейса для удобства управления? Или там больше?
AppScale объединяет множество популярных и надежных распределенных технологий для обеспечения масштабируемого клона GAE. Эти технологии включают в себя: Cassandra, memcached, ZooKeeper, RabbitMQ, сельдерей, ejabberd и другие. Он автоматически настраивает и развертывает каждую из необходимых служб, чтобы сделать это так, чтобы приложения GAE работали без изменений.
Как его настроить, чтобы конфигурации были согласованы во всех виртуальных машинах?
При инициализации у нас есть флаг, который вы можете установить "scp: ~/appscale", где вы можете указать инструменты AppScale, где можно скопировать измененную версию кода (отличную от того, что работает на виртуальных машинах) ко всем машинам, Если вы хотите сделать изменения во время выполнения, я рекомендую использовать такие инструменты, как распределенный ssh, для этого. Видеть: http://www.netfort.gr.jp/~dancer/software/dsh.html.en
Где я могу найти дополнительную информацию о том, как работает балансировщик нагрузки? Точно, какая сервисная нагрузка балансирует? И как?
Балансировка нагрузки происходит с использованием nginx и HAProxy. Nginx работает на головке node и используется для статического обслуживания файлов, конфигурации маршрута приложения и SSL. HAProxy используется для проверок работоспособности, и его статистика используется для автомасштабирования. Путь, который принимает веб-запрос, - Nginx → HAProxy → Web Server.
Как настроить, например, базу данных Cassandra? Это просто настройка Кассандры, как я обычно делал, не связанный с AppScale?
AppScale автоматически настраивает и развертывает Cassandra. Если вы хотите изменить значения по умолчанию, которые мы используем для Cassandra, перейдите и измените код в appscale/AppDB/cassandra.
IP-адреса, которые я указываю в конфигурации AppScale, точно в какой форме они относятся к сервисам? Являются ли они "справедливыми" точками доступа AppScale к соответствующим службам или они каким-то образом направляются на эти службы, чтобы стать частью их конфигурации?
Роли продиктованы этой предварительной конфигурацией. Точка доступа к любому приложению всегда находится через голову node. Однако приложение имеет доступ к различным службам, которые были размещены на основе того, как вы настроили AppScale при инициализации.
И этот список продолжается...
Вы можете отправить список рассылки по этим вопросам
Или посетите наш канал IRC в #appscale на freenode.net
Исходный код открыт, поэтому вы можете вникнуть, чтобы увидеть точную внутреннюю работу.