Flex + Air приложение для базы данных? - PullRequest
0 голосов
/ 08 октября 2011

Я пытаюсь создать приложение Air, используя Flex 4.5.Приложение взаимодействует с LiveCyle Collaboration Service для поддержки совместного использования экрана и чата веб-камеры на рабочем столе.

В настоящее время я ищу базу данных (не локальную, как SQLite) для хранения и загрузки данных размером с настенную страницу Facebook.,То есть многие пользователи могут хранить и загружать данные из базы данных за короткий промежуток времени (проблема синхронизации).Кроме того, я настрою базу данных на сервере Mac mini Snow Leopard.

Я предложил эти три решения:

1) MySQL с использованием AMFPHP - доступ к MySQL через серверную частьlanguage.

2) MySQL через библиотеку asSQL - прямой доступ к MySQL, но плохая безопасность.

3) BlazeDS / LiveCycleES и ColdFusion - бэкэнд Java EE, но ColdFusion коммерческий и подходит длябольшой проект?

Какое решение является лучшим для малого и среднего проекта?или вы могли бы порекомендовать любое другое решение?Спасибо.

Ответы [ 2 ]

1 голос
/ 08 октября 2011

Я бы выбрал Java / BlazeDS / MySQL как наилучшее сочетание цены (бесплатно) и надежности (так, что с BlazeDS работает больше людей, чем с AMFPHP).NoSQL может показаться привлекательным, но все реальные проекты, о которых я знаю, дороги с точки зрения разработки (команды из 4-8 разработчиков работают только на персистентности).А реляционная база данных, такая как MySQL, достаточно хорошо справится с вашим сценарием.Я настроил систему для обработки 400 запросов / секунд, используя ее, без шардинга.

С другой стороны, важно сопоставить свои навыки с выбранным стеком, ваше время должно быть потрачено на работу над функциями, а не на изучениеновый язык или сложные рамки.Если вы знаете PHP лучше, чем Java, выберите AMFPHP вместо BlazeDS.

1 голос
/ 08 октября 2011

Coldfusion подходит для больших проектов.Не должно иметь значения, что это коммерческое, если у вас нет бюджета, в который он не вписывается.Но если это так, то LiveCycleES намного дороже, поэтому, если стоимость является проблемой, вам, вероятно, придется использовать BlazeDS.

Что касается "настенной" функции для Facebook, то есть несколько вещей, которые вы должны рассмотреть,Стена подразумевает, что у вас есть некоторый софт социального графа.Графические сети не очень легко сделать в больших масштабах с реляционной БД.Я бы посоветовал посмотреть на хранилище NoSQL, такое как MongoDB, Cassandra.Эти параметры будут масштабироваться с гораздо меньшими усилиями, чем сегментирование с базой данных, которая требует большого количества программных разработок только для эффективного хранения всего.

http://www.rackspace.com/cloud/blog/2010/05/12/cassandra-by-example/

У вас будут некоторые проблемы срешить с PHPAMF и BlazeDS, если вы хотите разделить экраны между двумя клиентами.Асинхронный обмен сообщениями не поддерживается ни одним из этих вариантов, поэтому он практически не используется.LiveCycle ES поддерживает такие вещи, чего раньше не было в Blaze / DS.Возможно, вы захотите дважды проверить возможности Blaze / DS, чтобы увидеть, изменилось ли это в последнее время.Один из вариантов, который вы можете посмотреть, это Red5, который поддерживает RTMP / E.

http://www.red5.org/

...