應用之間的通訊遵循發佈訂閱模式,其中經過共享主題廣播數據。這能夠在下圖中看到,它顯示了一組交互式的Spring Cloud Stream應用程序的典型部署。html
![SCSt傳感器](http://static.javashuo.com/static/loading.gif)
圖6. Spring Cloud Stream Publish-Subscribe
傳感器向HTTP端點報告的數據將發送到名爲raw-sensor-data
的公共目標。從目的地,它由微服務應用程序獨立處理,該應用程序計算時間窗口平均值,以及另外一個將原始數據導入HDFS的微服務應用程序。爲了處理數據,兩個應用程序在運行時將主題聲明爲它們的輸入。微服務
發佈訂閱通訊模型下降了生產者和消費者的複雜性,並容許將新應用程序添加到拓撲中,而不會中斷現有流。例如,在平均計算應用程序的下游,您能夠添加一個計算顯示和監視的最高溫度值的應用程序。而後,您能夠添加另外一個解釋相同的故障檢測平均流程的應用程序。經過共享主題而不是點對點隊列進行全部通訊能夠減小微服務之間的耦合。url
雖然發佈訂閱消息的概念不是新的,可是Spring Cloud Stream須要額外的步驟才能使其成爲其應用模型的一個有意義的選擇。經過使用本地中間件支持,Spring Cloud Stream還簡化了在不一樣平臺上使用發佈訂閱模型。spa
源碼來源.net