- Apache ShardingSphere權(quán)威指南
- 潘娟 張亮 (阿爾及利亞)亞幸·西·塔伊布
- 664字
- 2024-10-25 14:08:46
2.2.1 使用邊車模式改善性能和可用性
眾所周知,對(duì)系統(tǒng)來(lái)說(shuō),關(guān)鍵是性能和可用性,而非或花里胡哨的額外功能。然而,添加負(fù)載均衡層后,網(wǎng)絡(luò)跳數(shù)可能增加,性能和可用性都可能受到影響。另外,系統(tǒng)還需要添加一個(gè)虛擬互聯(lián)網(wǎng)協(xié)議或負(fù)載均衡器,以解決負(fù)載均衡層本身存在的高可用性問(wèn)題,這將導(dǎo)致系統(tǒng)更加復(fù)雜。對(duì)于新增負(fù)載均衡層帶來(lái)的問(wèn)題,邊車模式是解決它們的“銀彈”。
邊車模式指的是在每個(gè)應(yīng)用服務(wù)器上都添加一個(gè)負(fù)載均衡器,該負(fù)載均衡器的生命周期與應(yīng)用本身相同:應(yīng)用啟動(dòng)時(shí),其負(fù)載均衡器啟動(dòng);應(yīng)用被銷毀時(shí),其負(fù)載均衡器消失。每個(gè)應(yīng)用都有自己的負(fù)載均衡器,這確保了負(fù)載均衡器的高可用性。這種方法也最大程度地減少了性能耗損,因?yàn)樨?fù)載均衡器和應(yīng)用部署在同一個(gè)物理容器中,這意味著遠(yuǎn)程過(guò)程調(diào)用(remote procedure call,RPC)變成了進(jìn)程間通信(interprocess communication,IPC)。
除了改善性能和高可用性,邊車模式還將應(yīng)用與數(shù)據(jù)庫(kù)SDK解耦,這讓運(yùn)維團(tuán)隊(duì)能夠隨時(shí)升級(jí)邊車和數(shù)據(jù)庫(kù),因?yàn)檫@種設(shè)計(jì)使得升級(jí)不會(huì)影響業(yè)務(wù)應(yīng)用。由于邊車是獨(dú)立于應(yīng)用的,因此只要邊車采用的是金絲雀發(fā)布(canary release),它對(duì)應(yīng)用開(kāi)發(fā)人員來(lái)說(shuō)就是完全透明的。不同于被連接到應(yīng)用中的類庫(kù),使用邊車可更有效地統(tǒng)一在線應(yīng)用版本。
實(shí)際上,流行的服務(wù)網(wǎng)格概念就將邊車作為數(shù)據(jù)平面,以處理系統(tǒng)中的東西流量和南北流量,它還使用控制平面來(lái)向數(shù)據(jù)平面發(fā)送指令,以控制流量或完成透明的升級(jí)。
邊車模式存在的最大問(wèn)題是其高昂的部署和管理開(kāi)銷,因?yàn)樾枰獮槊總€(gè)應(yīng)用都部署邊車。由于需要部署大量的邊車,因此必須測(cè)量其資源占有量和體量,這至關(guān)重要。
提示 良好的邊車應(yīng)用必須是極度輕量級(jí)的。
- 構(gòu)建高可用Linux服務(wù)器(第4版)
- PLC控制程序精編108例
- 嵌入式操作系統(tǒng)(Linux篇)(微課版)
- STM32庫(kù)開(kāi)發(fā)實(shí)戰(zhàn)指南:基于STM32F4
- Android物聯(lián)網(wǎng)開(kāi)發(fā)細(xì)致入門與最佳實(shí)踐
- 嵌入式系統(tǒng)及其應(yīng)用(第三版)
- OpenStack系統(tǒng)架構(gòu)設(shè)計(jì)實(shí)戰(zhàn)
- NetDevOps入門與實(shí)踐
- OpenSolaris設(shè)備驅(qū)動(dòng)原理與開(kāi)發(fā)
- iOS 8開(kāi)發(fā)指南
- Linux操作系統(tǒng)
- UI設(shè)計(jì)手繪表現(xiàn)從入門到精通
- iOS 10快速開(kāi)發(fā):18天零基礎(chǔ)開(kāi)發(fā)一個(gè)商業(yè)應(yīng)用
- Raspberry Pi入門指南
- Linux系統(tǒng)管理初學(xué)者指南:基于CentOS 7.6