В настоящее время у меня есть веб-приложение, полностью работающее на Heroku.
Этому веб-приложению требуется много вычислительная мощность и доступ к нескольким внешним API в течение коротких периодов времени и вообще ничего, если нет активности со стороны пользователей.
До сих пор у меня есть несколько рабочих, которые простаивают в течение длительного времени, но их недостаточно при большой активности. В результате пользователям приходится ждать слишком долго + я плачу деньги за работников, которые большую часть времени простаивают.
Чтобы решить эту проблему, я думаю о перемещении этих рабочих в AWS Lambda. Поскольку я совершенно неграмотен в AWS и любой конфигурации серверов в целом, я готов оставить сам Интернет и базу данных на Heroku.
В настоящее время воркеры много взаимодействуют с базой данных как при чтении, так и при записи. Поэтому я рассматриваю две возможности:
Сделайте так, чтобы рабочие в AWS Lambda подключались напрямую к базе данных SQL на Heroku. Тогда они смогут бежать SELECT ...
и INSERT ...
запросы -> Возможно ли это? Я только нашел эта страница и вот этот об этом, поэтому я не уверен, будет ли его достаточно легко настроить (возможно, я не использую правильные ключевые слова, чтобы найти дополнительную информацию ...?)
Создайте своего рода API для связи между Heroku и Lambda, чтобы фактический доступ к базе данных SQL происходил на Heroku, а информация для выполнения запросов SQL - это то, что передается туда и обратно.
Есть ли смысл в любой из этих возможностей? Есть ли другой способ связать AWS Lambda и Heroku?
Я открыт и для любых других идей.
Я столкнулся с проблемой или в настоящее время все еще сталкиваюсь с ней в отношении Lambda.
По сути, у Lambda возникают проблемы с потерей соединений, когда работа, которую она выполняет, длиннее, особенно если она поддерживает соединения со службами. Я не уверен, ограничивается ли это услугами вне AWS или нет. В моем случае мои сервисы, вызываемые Lambda, находятся вне AWS, и Lambda не может делать то, что я могу делать с тем же сценарием JS, внешним по отношению к Lambda, что говорит о том, что я неправильно использую Lambda.
Возможно, у вас может быть та же проблема, когда ваши Lambda пытаются работать на Heroku и, возможно, будут отключены. Но пока это моя гипотеза. Например, не используйте Lambda, пока не убедитесь в этом.