高速互聯(lián)網(wǎng)絡(luò)的作用是在多個(gè)節(jié)點(diǎn)之間交換大量數(shù)據(jù)。OushuDB高速互聯(lián)網(wǎng)絡(luò)基于UDP協(xié)議。大家可能會(huì)疑問(wèn)為什么OushuDB不使用TCP。其實(shí)OushuDB同時(shí)支持TCP和UDP兩種協(xié)議,TCP協(xié)議實(shí)現(xiàn)早于UDP協(xié)議。但是因?yàn)槲覀冇龅搅薚CP不能很好解決的高連接數(shù)并發(fā)問(wèn)題,我們才開(kāi)發(fā)了基于UDP的協(xié)議。圖4展示了一個(gè)高速互聯(lián)網(wǎng)絡(luò)的例子。
圖4. 高速互聯(lián)網(wǎng)絡(luò)
例子中各個(gè)節(jié)點(diǎn)上的執(zhí)行器進(jìn)程形成了一個(gè)數(shù)據(jù)交換的流水線。假設(shè)每個(gè)節(jié)點(diǎn)上有1000個(gè)進(jìn)程。有1000個(gè)節(jié)點(diǎn),這些進(jìn)程需要相互交互,每個(gè)節(jié)點(diǎn)上就會(huì)有上百萬(wàn)個(gè)連接。TCP是沒(méi)辦法高效地支持這么多的連接數(shù)的。所以我們開(kāi)發(fā)了基于UDP的互聯(lián)協(xié)議。針對(duì)UDP傳輸,操作系統(tǒng)是不能保證可靠性的,并且不能保證是有序傳遞的。所以我們的設(shè)計(jì)需要保證和支持如下特性:
可靠性:能夠保證在丟包的情況下,重傳丟失的包
有序性:保證包傳遞給接受者的最終有序性
流量控制:如果不控制發(fā)送者的速度,接收者可能會(huì)被淹沒(méi),甚至?xí)?dǎo)致整個(gè)網(wǎng)絡(luò)性能急劇下降
性能和可擴(kuò)展性:性能和可擴(kuò)展性是我們需要解決TCP問(wèn)題的初衷
可支持多種平臺(tái)
聯(lián)系客服