我在app引擎(GAE)上有一个NodeJs项目。
每当服务调用出现意外崩溃时,NodeJ必须重新启动(我认为这是正常的),但这会使整个服务器无法使用几秒钟,这可能会影响其他用户。
我正在考虑创建服务器的两个实例,这样如果一个实例失败,另一个实例仍然可以参与请求。
但是,我不确定这会带来更多的工作,因为节点js项目执行了一些初始化过程并且安排了一些cron任务。如果我创建更多实例,chron任务会重复吗?
或者哪种方法可以在这种环境中管理冗余?
要始终运行2个实例,请在app.yaml
set中执行此操作
automatic_scaling:
min_instances: 2
https://cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements
Chron任务不会重复。
这是获得此类冗余的方法,但这需要总是为2个实例付费
但是,当你真正得到“服务电话中的意外崩溃”时会发生什么。这听起来不正常。