赞
踩
既然已经实现了springboot与rabbitmq的集成了,为什么还会出现SpringCloudStream这个组件呢?
我们知道,当微服务越来越来多的时候,仅仅是feign的http调用方式已经满足不了我们的使用场景了。这个时候系统就需要接入消息中间件了。相比较于传统的Spring项目、SpringBoot项目使用消息中间件的很多配置不同,SpringCloud Stream抽象了中间件产品的不同,在SpringCloud中你仅仅需要修改几行配置文件就可以灵活的切换中间件产品而不需要修改任何代码。
这段话的意思可以这么理解,第一,springboot与rabbitmq的整合过程,如果做到精确的配置和高可用,稳定使用,其实还是需要一些运维成本的,尤其在面临复杂的业务场景中,在处理消息队列的问题是比较耗费精力的,从而开发人员不能将精力放在业务的开发上;第二点,随着分布式的应用场景越来越多也越来越复杂,通过feign或者http的形式调用在某些场景也不能很好的达到预期的效果,因此我们需要借助消息中间件进行解耦
springcloud由于其本身是基于springboot之上的开发和封装,因此对于消息中间件的接入是必须的,比如像springcloud生态中的zipkin服务链路追踪,对rabbitmq就很好的支持,SpringCloudStream目前支持rabbitmq和kafka两种消息中间件,我们可以这么理解,SpringCloudStream对于消息中间件的引其实就是简化配置和开发,应用程序只需要做非常简单的配置,程序中使用简单的API即可完成之前的功能,而且性能还很好,下面就用简单的代码来演示一下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。