自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

我們重寫了七層流量代理BFE的路由轉(zhuǎn)發(fā)機(jī)制

商務(wù)辦公
以http請(qǐng)求為例,當(dāng)請(qǐng)求到達(dá)BFE時(shí),BFE首先根據(jù)請(qǐng)求域名確定租戶(哪個(gè)業(yè)務(wù)線),再根據(jù)請(qǐng)求的路徑確定集群(服務(wù)/微服務(wù)),然后確定子集群(機(jī)房),最后負(fù)載均衡選擇實(shí)例(服務(wù)進(jìn)程)。

BFE路由轉(zhuǎn)發(fā)模型如下圖所示。

以http請(qǐng)求為例,當(dāng)請(qǐng)求到達(dá)BFE時(shí),BFE首先根據(jù)請(qǐng)求域名確定租戶(哪個(gè)業(yè)務(wù)線),再根據(jù)請(qǐng)求的路徑確定集群(服務(wù)/微服務(wù)),然后確定子集群(機(jī)房),最后負(fù)載均衡選擇實(shí)例(服務(wù)進(jìn)程)。

那么我們?yōu)槭裁匆貙戇@套路由轉(zhuǎn)發(fā)機(jī)制?

BFE在路由到集群以及負(fù)載均衡選擇實(shí)例上,與我們接觸的網(wǎng)關(guān)很類似,在做網(wǎng)關(guān)時(shí),我們最頭疼的就是配置一堆路由規(guī)則。在七層流量代理上,由于多租戶的存在,我們也需要配置一堆規(guī)則。

為了解決繁瑣的配置問(wèn)題,以及兼容歷史遺留問(wèn)題,我們重寫了BFE的路由轉(zhuǎn)發(fā)機(jī)制,讓服務(wù)主動(dòng)的,按“/租戶/服務(wù)/機(jī)房/實(shí)例/接口”的格式注冊(cè)到注冊(cè)中心,BFE從注冊(cè)中心讀取和監(jiān)聽(tīng)服務(wù)注冊(cè)。要實(shí)現(xiàn)這一點(diǎn),需要業(yè)務(wù)方使用我們提供的框架開(kāi)發(fā)。

當(dāng)然,這很大程度是由于歷史遺留問(wèn)題決定的。在使用BFE之前,我們公司使用的是自研的七層流量代理,使用自定義的客戶端與服務(wù)端的通信協(xié)議。因此,客戶端和服務(wù)端都需要依賴七層流量代理提供的SDK開(kāi)發(fā)。

使用BFE后,除兼容舊的邏輯,為實(shí)現(xiàn)客戶端與后端的rpc調(diào)用,提升開(kāi)發(fā)效率,支持多語(yǔ)言(客戶端ios與Android、h5使用的開(kāi)發(fā)語(yǔ)言不同)生態(tài),我們提供基于idl通用語(yǔ)言的rpc實(shí)現(xiàn)方案。

實(shí)現(xiàn)基于注冊(cè)機(jī)制的轉(zhuǎn)發(fā)邏輯,有利于實(shí)現(xiàn)跨區(qū)域流量調(diào)度。我們不需要知道哪個(gè)業(yè)務(wù)在哪個(gè)大區(qū)部署有服務(wù),通過(guò)跨區(qū)域數(shù)據(jù)同步即可自動(dòng)發(fā)現(xiàn)就近區(qū)域部署的服務(wù),將請(qǐng)求通過(guò)專線轉(zhuǎn)發(fā)到其它區(qū)域的BFE。也稱南北路由。

在調(diào)整路由轉(zhuǎn)發(fā)機(jī)制后,由于去掉了轉(zhuǎn)發(fā)規(guī)則的配置,原有限流模塊已經(jīng)不適用,或者說(shuō)太重,配置起來(lái)太繁瑣,因此,我們也重寫了限流模塊,只保留按租戶限流和按接口限流,并增加按連接數(shù)限流和按握手次數(shù)限流。

重寫B(tài)FE的路由轉(zhuǎn)發(fā)機(jī)制并非原有實(shí)現(xiàn)不好,而是為了兼容原有技術(shù)棧,解決繁瑣配置問(wèn)題,實(shí)現(xiàn)跨區(qū)域流量轉(zhuǎn)發(fā)。很多時(shí)候,歷史包袱并不是說(shuō)丟棄就丟棄,每個(gè)迭代都要考慮兼容問(wèn)題。

基于百度開(kāi)源的BFE二次開(kāi)發(fā),目前為止,我們幾乎重寫了BFE,只保留BFE的骨干框架。由于要兼容一堆邏輯,BFE也變得越來(lái)越重,而這些兼容邏輯,也會(huì)是一個(gè)長(zhǎng)期存在的邏輯。

本文轉(zhuǎn)載自微信公眾號(hào)「Java藝術(shù)」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java藝術(shù)公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: Java藝術(shù)
相關(guān)推薦

2021-09-01 08:58:16

全球化多租戶流量

2019-11-21 10:56:24

開(kāi)源技術(shù) 趨勢(shì)

2019-05-21 09:11:50

七層協(xié)議OSITCP

2017-05-23 16:13:45

2009-12-16 14:28:53

路由交換技術(shù)

2014-06-17 09:30:14

OSI

2020-03-31 20:57:50

負(fù)載均衡Web服務(wù)器開(kāi)源

2012-11-12 11:26:44

2014-07-24 09:38:34

2019-01-30 10:18:46

七層協(xié)議網(wǎng)絡(luò)通信

2010-06-29 12:28:48

第七層協(xié)議

2024-01-10 09:04:46

OSI網(wǎng)絡(luò)模型

2010-09-09 16:48:50

七層網(wǎng)絡(luò)協(xié)議

2010-09-09 16:56:08

七層網(wǎng)絡(luò)協(xié)議

2024-03-04 07:00:00

KubernetesIngress

2022-05-24 07:14:18

元宇宙大數(shù)據(jù)

2010-04-23 13:01:40

七層交換負(fù)載均衡

2024-01-31 09:11:16

HaproxyHttpTCP

2019-07-09 13:54:19

網(wǎng)絡(luò)模型網(wǎng)絡(luò)協(xié)議TCP

2019-07-16 10:42:02

網(wǎng)絡(luò)模型TCP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)