如何 运行 一个 GO 应用程序的多个实例?
How to run multiple instances of one GO application?
在 python 中,您可能同时拥有 uwsgi 应用程序服务器 运行 个应用程序实例。
问题不在于 goroutine 最擅长的负载平衡传入请求。您可以同时拥有多个 goroutines 运行,但直到主应用程序处于活动状态。如果应用程序崩溃,则没有 goroutines 可以处理任何任务。
我的问题是:我们如何才能同时运行一个应用程序的多个实例?。如果这个问题被 Go 用另一种方式解决了,那是什么?
正如人们之前所说,您会希望有各种实例 运行 帮助减少停机时间。理论上,同一台服务器上的多个实例将防止大部分软件崩溃停机。如果您担心硬件故障,您将需要多个服务器 运行 一些 loadbalancer/proxy 来处理请求。 nginx 或 haproxy 之类的东西将提供这一点。
您可能还需要为此考虑容器化。容器化允许您轻松地 运行 应用程序的多个软件实例,并且很容易确保您拥有所需的数量。 Kubernetes 和相关应用程序将进一步提高这种可靠性,并为您提供集群。
在 python 中,您可能同时拥有 uwsgi 应用程序服务器 运行 个应用程序实例。
问题不在于 goroutine 最擅长的负载平衡传入请求。您可以同时拥有多个 goroutines 运行,但直到主应用程序处于活动状态。如果应用程序崩溃,则没有 goroutines 可以处理任何任务。
我的问题是:我们如何才能同时运行一个应用程序的多个实例?。如果这个问题被 Go 用另一种方式解决了,那是什么?
正如人们之前所说,您会希望有各种实例 运行 帮助减少停机时间。理论上,同一台服务器上的多个实例将防止大部分软件崩溃停机。如果您担心硬件故障,您将需要多个服务器 运行 一些 loadbalancer/proxy 来处理请求。 nginx 或 haproxy 之类的东西将提供这一点。
您可能还需要为此考虑容器化。容器化允许您轻松地 运行 应用程序的多个软件实例,并且很容易确保您拥有所需的数量。 Kubernetes 和相关应用程序将进一步提高这种可靠性,并为您提供集群。