Мне кажется, что подход CQRS (Command and Query Responsibility Segregation) может быть подходящим для внедрения надежного и отзывчивого сервера социальных приложений в GAE, потому что:
- CQRS не требует базы данных SQL (которую GAE не предоставляет)
- Для этого требуется база данных, способная хранить сериализованные объекты, которые GAE действительно предоставляют
- Он требует очередей событий, которые GAE также предоставляет
- Он поддерживает неблокирующую, асинхронную, основанную на сообщениях архитектуру, которая аккуратно работает вокруг ограничений GAE для долгосрочных транзакций.
- Он рекламируется как очень масштабируемый, что в конечном итоге объясняет, почему оптимисты выбирают GAE
Проблема в том, что я ржавый Java-программист с небольшим опытом, имеющим отношение к этому выбору, и я был бы очень признателен за любые комментарии от кого-либо, кто использовал их вместе, или, по крайней мере, исследовал их использование из опыта использования другой.
Я думаю, что мои основные вопросы:
- Сложный комплекс CQRS для ранних этапов нового приложения?
- Есть ли какие-либо ловушки-мины, которые могли бы сделать их плохой, например, такие как GAE Datastore, возможно, не соответствовали требованиям CQRS?
- Кто-нибудь может рекомендовать Axon или Jdon как особенно подходящий (или неподходящий) для GAE?
- Какие еще вопросы я должен задать?