我试图build立一个负载平衡系统。 我的负载均衡器(nginx)有一个conf文件,我应该列出上游服务器的所有IP。
我可以把IP地址手动,但这种方式,我需要改变每次我添加/删除上游服务器的configuration文件。
现在我想出了两个不同的想法,但我不喜欢很多:
1 – 让每台上游机器使用导出的资源创build一个带有IP的文件。然后,负载平衡器服务器将有一个“include conf_directory / *”,并加载所有由upstrem服务器创build的文件。 由于负载平衡器使用nginx这可以做到,但如果我不想后者configuration的东西,没有“包括”的conf文件,这种解决scheme将无法正常工作。
2 – 如果configuration不支持“include”命令,那么我们可以再次使用“导出的资源”来创build一个带有IP的文件,后面的那个,负载平衡器执行一个命令,文件并生成configuration
两个版本都采用相同的技术,不同之处在于,当服务器(需要生成一个conf)不能识别类似“include”的命令时,会使用版本2。
现在,我的问题是,有没有办法以不同的forms做到这一点? 我怀疑是否有,因为傀儡是pipe理多台服务器,似乎有点奇怪,没有一个简单的方法来configuration负载平衡器。
编辑:毕竟,第一个解决schemedidens't工作还因为我不能使用Nginx的上游内的包括指令conf
使用RIPienaar的concat模块。 有了这个,您可以导出/收集configuration文件片段,并将它们连接到目标文件中。