用这四招,快速恢复出厂设置
|
「分区支持」 Spring Cloud Stream支持在一个应用程序的多个实例之间数据分区,在分区的情况下,物理通信介质(例如,topic代理)被视为多分区结构。一个或多个生产者应用程序实例将数据发送给多个消费应用实例,并保证共同的特性的数据由相同的消费者实例处理。 Spring Cloud Stream提供了一个通用的抽象,用于统一方式进行分区处理,因此分区可以用于自带分区的代理(如kafka)或者不带分区的代理(如rabbiemq) 分区在有状态处理中是一个很重要的概念,其重要性体现在性能和一致性上,要确保所有相关数据被一并处理,例如,在时间窗平均计算的例子中,给定传感器测量结果应该都由同一应用实例进行计算。 Spring Cloud Stream 总结
本文是 Spring Cloud Stream 的第一篇,我们介绍了到底什么是Spring Cloud Stream以及相关知识点的解读,帮助我们从整体上认识Spring Cloud Stream。 Spring Cloud Stream由一个中立的中间件内核组成。 Spring Cloud Stream会注入输入和输出的channels,应用程序通过这些channels与外界通信,而channels则是通过一个明确的中间件Binder与外部brokers连接。 「Channel」 Channel描述的是消息从应用程序和Binder之间的流通的通道,也就是Application Model中的input和output。 「Binder」 Binder是Spring Cloud Stream中一个非常重要的概念,它是应用程序和消息中间件的中间层,完美屏蔽了不同消息中间件的实现差异,可以简单的类比为Adapter。 Spring Cloud Stream官方提供了spring-cloud-stream-binder-kafka和spring-cloud-stream-binder-rabbit两款主流消息中间件的Binder实现。并且还提供了专门用于测试的TestSupportBinder,开发者可以直接使用它来对通道的接收内容进行断言测试。 当然,Spring Cloud Stream也允许开发者通过它的SPI来实现其他MQ的Binder。目前已有多款MQ产品提供了第三方Binder实现,参考官方文档Binder Implementions。如要实现自己的Binder可以参考官方文档Binder SPI。 「Bindings」 Binding是用于描述MQ中间件到应用程序的桥梁模型,即是对于Binder加上inputs和outputs各个channel的绑定关系的描述 「各大消息中间件的绑定抽象」
Spring Cloud Stream提供对Kafka,Rabbit MQ,Redis,和Gemfire的Binder实现。Spring Cloud Stream还包括了一个TestSupportBinder,TestSupportBinder预留一个未更改的channel以便于直接地、可靠地和channels通信。 (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
