Spring Cloud Stream教程(二)主要概念

Spring Cloud Stream提供了一些簡化了消息驅動的微服務應用程序編寫的抽象和原語。本節概述瞭如下內容:html

  • Spring Cloud Stream的應用模型java

  • Binder抽象git

  • 持續的發佈 - 訂閱支持github

  • 消費者羣體支持spring

  • 分區支持app

  • 一個可插拔的Binder API微服務

應用模型

一個Spring Cloud Stream應用程序由一箇中間件中立的核心組成。該應用程序經過Spring Cloud Stream注入到其中的輸入和輸出通道與外界進行通訊渠道經過中間件特定的Binder實現鏈接到外部經紀人。工具

SCSt與粘合劑
圖5. Spring Cloud Stream應用

胖JAR

Spring Cloud Stream應用程序能夠在獨立模式下從IDE運行進行測試。要在生產中運行Spring Cloud Stream應用程序,您能夠使用爲Maven或Gradle提供的標準Spring Boot工具建立可執行文件(或「胖」)JAR。測試

Binder抽象

Spring Cloud Stream爲KafkaRabbit MQ提供Binder實現Spring Cloud Stream還包括一個TestSupportBinder,它保留了一個未修改的通道,以便測試能夠直接和可靠地與通道進行交互。您能夠使用可擴展API編寫本身的Binder。spa

Spring Cloud Stream使用Spring Boot進行配置,Binder抽象使得Spring Cloud Stream應用程序能夠靈活地鏈接到中間件。例如,部署者能夠在運行時動態地選擇通道鏈接的目的地(例如,Kafka主題或RabbitMQ交換)。能夠經過外部配置屬性和Spring Boot(包括應用程序參數,環境變量和application.ymlapplication.properties文件)支持的任何形式提供此類配置。引入Spring Cloud Stream部分的接收器示例中,將應用程序屬性spring.cloud.stream.bindings.input.destination設置爲raw-sensor-data將使其從raw-sensor-data Kafka主題或從綁定到raw-sensor-data RabbitMQ交換。

Spring Cloud Stream自動檢測並使用類路徑中找到的binder。您能夠使用相同的代碼輕鬆使用不一樣類型的中間件:在構建時只包含不一樣的綁定器。對於更復雜的用例,您還能夠在應用程序中打包多個綁定器,並在運行時選擇綁定器,甚至是否爲不一樣的通道使用不一樣的綁定器。

源碼來源

相關文章
相關標籤/搜索