參考: https://kemptechnologies.com/load-balancer/load-balancing-algorithms-techniques/
Round Robin DNS: 多個相似的Server垂睬,提供一樣的服務(wù)。 每個server都使用同一個Internet Domain name, 但是不同的IP address. A DNS Server 有a list of all the unique IP addresses,與internet domain ?name 聯(lián)系在一起蒿涎。?
百度百科上的中文翻譯:
◎ 依序Round Robin
◎ 比重Weighted Round Robin
◎ 流量比例Traffic
◎ 使用者端User
◎ 應(yīng)用類別Application
◎ 聯(lián)機(jī)數(shù)量Session
◎ 服務(wù)類別Service
◎ 自動分配Auto Mode
功能
內(nèi)建DNS服務(wù)器,可維護(hù)多個網(wǎng)域(domain),每個網(wǎng)域又可以新增多筆紀(jì)(A/CNAME/MX),達(dá)到Inbound Load Sharing的功能注盈。
1.DNS負(fù)載均衡最早的負(fù)載均衡技術(shù)是通過DNS來實(shí)現(xiàn)的,在DNS中為多個地址配置同一個名字叙赚,因而查詢這個名字的客戶機(jī)將得到其中一個地址老客,從而使得不同的客戶訪問不同的服務(wù)器,達(dá)到負(fù)載均衡的目的震叮。DNS負(fù)載均衡是一種簡單而有效的方法胧砰,但是它不能區(qū)分服務(wù)器的差異,也不能反映服務(wù)器的當(dāng)前運(yùn)行狀態(tài)苇瓣。
Round Robin DNS:
這是最簡單暴力白癡的算法尉间。 首先,我們有一個DNS: 比如說 www.google.com
然后這個domain name對應(yīng)好幾種不同的unique IP: 127.16.2.7,
?10.235.65.8, ? ?135.6.9.8
每次用戶訪問的時候,他把用戶導(dǎo)向IP的方式是根據(jù)rotation IP. 也就是第一次哲嘲, 你訪問贪薪,我把你導(dǎo)向列表里第一位的IP。 另一個現(xiàn)在訪問眠副,我把他引入排名第二的IP画切。 第三個人來,把他導(dǎo)入排名第三的IP囱怕。第四個人來霍弹,又導(dǎo)向排名第一的IP。
Round Robin適合request長度都是一樣時間的
不過壞處是:這個算法因?yàn)樘唵喂馔浚运耆还芤苍S第一個IP server此時有100萬人訪問庞萍,其他兩個server沒人的情況拧烦。反正就是rotation忘闻。
我覺得,做一個Load Balancer 的Project 應(yīng)該會很有趣恋博。
大概做法應(yīng)該是有一個List = [instance1, instance2, instance3]
每個console instance ?listen to 一個port齐佳。 然后load balancer 一個function之類的來決定某個request去到哪個instance。感覺這個可以配合NodeJs來做债沮。