我想为我的网络应用设置自动缩放的负载均衡器。我不确定我是否理解它的工作方式和与我的实例交互的细节。
我目前正在使用Google Cloud进行托管,并使用此tutorial作为参考设置。我想在我的所有实例中使用CoreOS作为我的首选操作系统。
据我所知,负载均衡器包含一个IP地址作为互联网上客户端访问我的应用的接入点。在他们请求IP之后,负载均衡器根据多种因素(如网络位置,HTTP(S)流量负载等)确定为其提供服务的实例。
我感到困惑的一点是我的应用应该在哪里生活?我应该在我的所有服务器上分发我的应用程序吗?它是如何从根本上完成的?
我提到我正在使用CoreOS。 CoreOS有Docker。理想的设置是Dockerize我的应用程序,将其打包并将其分发到我的服务器中以便它们可以保持一致吗?
对于自动缩放部分,我计划让负载均衡器将流量分配给自动缩放组内的服务器。为了让我的应用程序出现在新扩展的实例上,我将不得不包含某种启动脚本(cloud-config),以便让我的应用程序的最新docker镜像能够正确提供,是吗?
最终,我认为在下图中进行设置对我来说是最理想的,可以让我了解更多并扩展我的体验,同时也让我能够让我的应用程序尽可能健壮且易于访问。
有关这方面的一些问题是:
对于我想要完成的事情,设置HAProxy是绝对必要的吗?
此数据显示为后端提供服务的实例正在通过内部IP与负载均衡器进行通信。一般来说,负载平衡是否需要内部IP?或者他们只是帮助确保不需要公开的内容?
对于此图,我假设只需要在具有外部IP的前端服务器上加载SSL证书,那么我将如何为负载均衡器提供证书?没有内部IP的使用方法?
是否认为这很复杂?它比我想的更简单吗?
总而言之,我只想学习并利用这些方法,这样我就可以制作一个可靠的应用程序,可以快速,轻松地为任何人服务,而不会出现大多数问题。
如果我需要澄清更多信息,请告诉我,我会尽力帮助。如果有什么我应该知道的,请告诉我。最重要的是,如果我对路线有任何建议,请告诉我们!
任何帮助或反馈非常赞赏!