搭建故障排除的負載均衡(nginx)服務器集群保障高可用

前情回顧

不知道為什么,公司亞馬遜EC2服務器最近常常無緣無故的宕掉。。ssh都進不去,只能通過aws那里重啟,由于主網站服務器之前都是單點所以......

正好公司測試用的和其他附屬網站用的服務器沒有利用起來,這次便拿來做負載均衡和高可用吧!因為幾臺服務器ip段不一樣,還有一臺在阿里云的服務器,所以便想到了利用Tengine的nginx_upstream_check_module模塊的故障轉移來實現高可用。

Tengine nginx_upstream_check_module

Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了很多高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網天貓商城等得到了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。

注意 在編譯的時候加入./configure --with-http_upstream_check_module就能使用 nginx_upstream_check_module來實現故障轉移了,故障轉移是相對于負載均衡來說的:
upstream backend {
server 192.168.0.21:80;
server 192.168.0.22:80;
check interval=3000 rise=2 fall=5 timeout=1000;
}
//它會實時檢查兩臺服務器的健康狀態,如果一臺realserver宕掉則會將其踢出upstream,所有的請求不轉發到這臺服務器。當期恢復正常時,將其加入upstream。

for docker

這時候感覺docker的好處便體現出來啦,因為需要重新編譯nginx,如果造一個docker在容器內部搭建便不會出現和宿主機上面沖突等問題,當造好之后直接移植到需要的服務器上面就行啦~提供一下自己造的Dockerfile:https://github.com/gengxiankun/docker-build/blob/master/devops-php/tengine/Dockerfile

借鑒

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容