У меня есть сервер express.js, который я развертываю на AWS эластичный beanstalk. Я использую руль для шаблонов. Структура шаблонов меняется чаще, чем код сервера, поэтому я хочу иметь быстрый способ их развертывания. Я экспериментировал с размещением шаблонов на отдельной статической корзине S3 и затем загружал их из кода nodejs. Таким образом, я могу быстро развернуть изменения в шаблонах, используя статическое развертывание S3, а не eb deploy
, который перезапускает все узлы сервера.
Вот мой код сервера node.js для загрузки шаблона:
const s3 = new aws.S3();
s3.getObject({Bucket: 'bucketname.com', Key: 'views/' + path}, (err, data) => {
const template = handlebars.compile(data.Body.toString('utf-8'));
resolve(template);
});
Это решило проблему скорости развертывания шаблона, но я не уверен, что это не приведет к дополнительному снижению производительности. Я думал, что поскольку S3 и эластичный бобовый стебель являются сервисами amazon, влияние должно быть минимальным, но тесты на сайте заставляют меня думать иначе.
Может быть, есть лучший способ решить проблему скорости развертывания шаблонов?