![](/img/trans.png)
[英]why does this AWS Lambda code in Java return "internal server error" when invoked via an API gateway?
[英]Keep server gateway alive when pushing code to production
所以这是我最近遇到的事情,因为这经常发生在我身上,而且不得不让办公室里的每个人都知道由于我将代码推送到生产环境而导致服务器停机,这有点烦人。 这通常只发生在热修复/错误修复期间。 我在网上搜索了这个问题,但实际上并没有太多关于如何做这样的事情的信息。 有没有办法在我将代码推送到生产环境而不中断服务的情况下保持服务器网关正常运行?
我正在运行一个使用express
的React
应用程序,该应用程序托管在AWS EC2
服务器上,我在该服务器上提取代码并重新启动应用程序。 如果有帮助的话,我还使用NGINX
作为我服务器的网关。
我唯一能想到的是,如果有一种方法可以在我推送新代码时让服务器识别出应用程序已中断并使用旧代码。 推送新代码后,它会识别出应用程序再次运行,而是在不中断服务的情况下使用新代码运行它。
这可能是一个非常模糊的描述,但希望有人能理解我在这里想要表达的意思。 如果有人有任何建议,我将不胜感激。 谢谢!
您通常需要运行服务器的多个实例,因此您配置路由器或负载平衡器,以便一个实例是主要实例(接收所有传入请求),当另一个实例完成处理它正在处理的任何请求时,您可以停止它并升级它,然后启动新升级的服务器,然后反向升级另一个实例。
这两个实例可以始终运行并且每个都服务于一些新请求,或者第二个实例只能在升级过程中使用。
这是一个简化的序列:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.