Я строй приложения Sails, который использует Socket.io и видит, что парусный предлагает способ использования нескольких серверов с помощью Redis:Sails приложение с несколькими экземплярами на AWS - Redis/Elasticache/ALB
http://sailsjs.org/documentation/concepts/realtime/multi-server-environments
Поскольку я буду размещать приложение на AWS, желательно с ELB (эластичной балансировкой нагрузки) и группой автомасштабирования с несколькими экземплярами EC2, было интересно, как я могу справиться, так что для этого не требуется отдельный экземпляр redis?
Возможно, мы сможем использовать AWS Elasticache? Если да - как это будет сделано?
Теперь, когда AWS выпустила новый балансировщик приложений для приложений ALB, который имеет веб-порты, можно ли это использовать для упрощения?
Заранее спасибо
Статусы для потребительных случаев при применении
Разрешить конечному пользователю обновлять данные динамически из их собственной панели и дисплейных аналитика/статистика в реальном времени к администратор
Статус приложения 'для изменения в зависимости от конкретных сроков, например. на данной дате начала/времени, когда приложение позволяет пользователям обновлять данные.
Спасибо Оценка за ответ, похоже, что ElastiCache может быть полезен здесь. Хотя я знаю, что ElastiCache или Redis могут значительно помочь в производительности, я немного обеспокоен потерей данных, так как в конце мы все еще просто говорим о данных в памяти. Я понимаю, что команда Sails решила использовать socket.io-redis, но достаточно ли этого или у нас есть какое-то решение для резервного копирования? Причина, о которой я прошу, - это рассмотрение других решений, таких как AWS Kinesis и SQS. Очевидно, что использование встроенной функциональности Sails было бы проще, но не хотелось бы жертвовать ... – Aaron
Вы должны использовать Redis для кэширования данных для быстрого доступа и базы данных, например MySQL, для хранения данных в течение длительного времени. Таким образом, вы получаете быстрый доступ к Redis без потери данных. Я не уверен, почему вы также рассматриваете Kinesis и SQS для той же роли, поскольку это совершенно разные виды услуг. Возможно, вам нужно добавить дополнительные сведения к вашему вопросу относительно вашего конкретного варианта использования. –
Извините за задержку @Mark. Я добавил два основных варианта использования выше. Для # 1 redis или эластик может работать? Я думал об использовании Kinesis исключительно из-за элемента реального времени и потоковой передачи больших данных.Однако, похоже, в это время это будет излишним, поэтому я предпочел бы оставить это со стола :) Как насчет AWS SNS? Может быть, лучше сделать реализацию pubsub, чтобы справиться с этим? Это также предотвращает необходимость управления отдельным экземпляром redis ... Однако Sailsjs уже легко поддерживает socketIO.redis, поэтому его может быть проще реализовать ... Любые мысли были бы весьма признательны. Еще раз спасибо! – Aaron