![](/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.