最近发现使用Cloudflare解析前端几台机器,哪怕其中一台机器挂了,Web请求还是指向了已经挂的服务器,那么用户就会看到错误页面了。也就是说没有故障转移,但是研究一番发现CloudFlare的Load Balancer提供负载均衡以及智能故障切换,但是要收费。
在Cloudflare 控制面板中的Traffic应用,然后选择您要为其设置 Load Balancer 的域名站点。找到Enable Load Balancing选项,选择load balancing的套餐。最低价为5美元/月,根据你选择有所不同。比如你可以选择有多少个地区去检测你的站点,多长时间检测一次,默认60秒,以及你可以多少个源站,或者服务器,最低要两个,毕竟要做故障切换。
选择creat load balancer;开启Session Affinity;
接下来,我们将创建并添加pool。我们将创建两个pool:主pool和辅助“备用”pool,如果主pool出现故障,备用pool将为流量提供服务。
填写Pool名字,如果有两个服务器,这里填写一个,然后再创建一个备用pool;
下一步就是
配置类型http或者https等,其他一般默认,然后最下来填写header name以及value等;我们可以添加自定义标头、更改超时和重试次数,以及检查特定的响应正文。如果源站响应时未提供该正文,我们会将其标记为不正常。
此处只有 1 个源站,因此我们将Health Threshold保留为 1 ;然后选择不同的检查源站监控的区域,默认5美金套餐只有一个区域,但是可以添加更多,区域可以选择亚洲,美国等;填入邮箱的话,可以接收网站的健康状态;
重复这些步骤以将运行状况检查添加到辅助pool。
附加健康检查后,当我们开始进行第一次检查时,状态将暂时为Unknown。
仪表板将每 60 秒轮询一次更新的运行状况,如果运行状况检查失败,您应该看到绿色Healthy状态或红色Critical状态。如果您看到失败,可以将鼠标悬停在工具提示上并查看失败的确切原因。
下一步为设置Geo Routing(如果有启用的话,没有可以不设置),则可以按地理区域配置特定的流量策略和故障切换排序 – 例如将所有欧洲流量定向到您的欧盟数据中心pool,然后故障切换到北美pool,而北美则相反。当您希望访问者访问距其最近的源站(并因此提高性能!)时,这非常有用。
最后检查下就保存生效;
以后几台机器中哪一台有问题的话,那么就会自动切换到其他服务器中,实现智能故障切换,非常有用。