我在App Engine(GAE)上有一个NodeJs项目。
每当服务调用中发生意外崩溃时,NodeJ都必须重新启动(我相信这是正常的),但是,这会使整个服务器无法使用几秒钟,这可能会影响其他用户。
我正在考虑创建服务器的两个实例,以便如果一个实例失败,另一个实例仍然可以处理请求。
但是,我不确定这会带来更多工作,因为node js项目会执行一些初始化过程并计划一些cron任务。如果我创建更多实例,是否会复制计时任务?
还是在这种环境下管理冗余的最佳方法是什么?
最佳答案
要始终运行2个实例,请在app.yaml
集中进行
automatic_scaling:
min_instances: 2
https://cloud.google.com/appengine/docs/standard/python/config/appref#scaling_elements
Chron任务将不会重复。
这是拥有这种类型的冗余的方法,但是这样做的代价是必须始终为2个实例付费
但是,当您实际上遇到“服务呼叫中的意外崩溃”时发生了什么。这听起来不正常。