SmartRoute是基于Dotnet Core設(shè)計的可運行在linux和windows下的服務(wù)通訊組件,其設(shè)計理念是去中心化和零配置即可實現(xiàn)服務(wù)通訊集群。SmartRoute是通過消息訂閱的機制實現(xiàn)服務(wù)與服務(wù)之間的通訊,它可以讓廣播網(wǎng)段內(nèi)所有服務(wù)器上的應(yīng)用自動構(gòu)建通訊集群; 而通訊集群完全是SmartRoute自動構(gòu)建并不需要進(jìn)行任何配置或安裝中間服務(wù)。通過這種全新的通訊開發(fā)方式可以讓開發(fā)者更輕松和簡單地構(gòu)建基于服務(wù)的集群通訊應(yīng)用。
SmartRoute的發(fā)展目標(biāo)
智能集成服務(wù)通訊交互
不需要具備通訊專業(yè)知識即可輕松構(gòu)建
零配置、零安裝引用組件即可用
可快速構(gòu)建服務(wù)應(yīng)用通訊,消息分發(fā),網(wǎng)關(guān)集群和集群負(fù)載應(yīng)用
原理
SmartRoute基于UDP廣播的方式來發(fā)現(xiàn)網(wǎng)內(nèi)相同集群名稱的服務(wù)應(yīng)用,當(dāng)然應(yīng)用是基于同一集群名稱的情況下,會發(fā)起TCP連接握手并進(jìn)行驗證,當(dāng)驗證通過后節(jié)點會建立的通訊關(guān)系。在同一集群里的任意一個節(jié)點產(chǎn)生的訂閱都會同步到所有節(jié)點上。SmartRoute的網(wǎng)絡(luò)節(jié)點是基于網(wǎng)狀結(jié)構(gòu),并不需要中心服務(wù)維護,而這些特性都是自動化的開發(fā)人員完全不需要了解。
使用
SmartRoute的使用并不會像傳統(tǒng)網(wǎng)絡(luò)程序那樣構(gòu)建服務(wù),然后構(gòu)建Client連接到相應(yīng)服務(wù)那樣復(fù)雜。在SmartRoute中不存在服務(wù)和客戶端這一說法,任何節(jié)點即是服務(wù)的同時也是客戶端;SmartRoute的消息是通過訂閱來處理,只要記住對方的名稱就可以向?qū)Ψ桨l(fā)送消息,你并不需要關(guān)注對方是在