使用VPN或者ER服務(wù)建立云服務(wù)和本地服務(wù)網(wǎng)絡(luò)通道來搭建混合應(yīng)用的方式,需要網(wǎng)絡(luò)設(shè)備的配合和比較復(fù)雜的網(wǎng)絡(luò)配置,所以不是特別的方便。如果是不希望對本地網(wǎng)絡(luò)環(huán)境做修改,而只是服務(wù)層面的混合,那么可以使用一個(gè)更方便的服務(wù) – Azure中繼服務(wù)。基于Azure中繼服務(wù)訪問本地服務(wù),客戶端不需要與本地服務(wù)建立直接連接,也不需要了解服務(wù)所在的位置,并且本地服務(wù)無需在防火墻上打開任何入站端口。
Azure中繼服務(wù)支持傳統(tǒng)的單向消息傳送、請求/響應(yīng)消息傳送和對等消息傳送。它還支持 Internet 范圍的事件分發(fā),以實(shí)現(xiàn)發(fā)布-訂閱方案和雙向套接字通信,從而提高點(diǎn)到點(diǎn)通信效率。在中繼消息傳送模式中,本地服務(wù)會通過出站端口連接至中繼服務(wù),并為綁定至特定會合地址的通信創(chuàng)建一個(gè)雙向套接字。然后,客戶端可以通過將消息發(fā)送到抵達(dá)會合地址的中繼服務(wù)來與本地服務(wù)通信。
目前Azure提供兩種中繼服務(wù),WCF(Windows Communication Foundation)中繼和混合連接。其中WCF中繼是傳統(tǒng)的服務(wù),適合于基于WCF的本地服務(wù)。(關(guān)于WCF請參閱 WCF 官方文檔)。而混合連接使用開放標(biāo)準(zhǔn)Web套接字,可實(shí)現(xiàn)多平臺方案,適用性更廣。
本文介紹如何使用WCF中繼來構(gòu)建混合應(yīng)用。
WCF中繼
WCF中繼允許你向公有云公開位于企業(yè)網(wǎng)絡(luò)內(nèi)的WCF服務(wù),而無需打開防火墻連接,也無需對企業(yè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)進(jìn)行徹底的更改。而且它還允許你安全的控制誰可以訪問這些服務(wù)。另外對你原來的WCF項(xiàng)目所需要做的改動(dòng)也是很小的。