《Spring Cloud微服务架构开发实战 第9章 消息驱动——Stream》笔记(待续)

第9章 消息驱动——Stream

9.1 什么是消息驱动开发

基于消息驱动的开发典型应用如图9-1所示,微服务A与微服务B通过消息中间件进行消息的传递。

在分布式环境下,消息中间件支持同步方式和异步方式的消息传递。

优劣:异步方式的消息传递比同步方式具有更强的容错性,能够保障在系统故障时消息正常可靠地传输。

 

异步消息中间件的消息传递模式又可以分为两种:点对点模式和“发布-订阅”模式。·

1)点对点模式:该模式常用于消息生产者和消息消费者之间点到点的通信;·

2)“发布-订阅”模式:该模式使用主题(Topic)代替点对点中的目的消费者。

 

9.1.1 基于消息中间件开发的优点

1.降低应用耦合

2.改善应用性能:微服务之间的处理变成了异步处理模式,提升了性能,使系统具有了更好的响应延迟。

3.提升应用的可扩展性:可以在无须修改消息发送方情况下很容易地添加一个新的消费者,或者为消费者添加新的功能。

4.提高系统的可用性:当消息发送方将消息发送到消息服务器时,消息就由消息中间件进行存储和分发,即使消费方宕机也不会影响到消息发送方的处理。

5.更灵活的系统集成

9.1.2 基于消息中间件开发的缺点

1.更复杂的应用架构

2.更具挑战的开发模式:代码的调试会涉及多个微服务日志,这些日志的输出甚至是无序的

3.更陡峭的学习曲线

 

9.2 Spring Cloud Stream简介

Spring Cloud Stream是创建消息驱动微服务应用的框架,其基于Spring Boot,可以用来构建单独的或者工业级Spring应用。Spring Cloud Stream支持与多种消息中间件整合,如Kafka、RabbitMQ等。

 

9.2.1 应用模型

使用Spring Cloud Stream进行消息的发送和消费时涉及下面4个概念。

1.消息发送通道接口Source

消息发送通道接口用于Spring Cloud Stream与外界通道的绑定,

2.消息通道Channel

消息通道是对消息队列的一种抽象,用来存放消息发布者发布的消息或者消费者所要消费的消息。

3.消息绑定器BinderSpring Cloud Stream

通过定义绑定器作为中间层,实现了应用程序与具体消息中间件细节之间的隔离。

Spring Cloud Stream默认提供了对RabbitMQ和Apache Kafka的绑定器。

4.消息监听通道接口Sink

与消息发送通道接口(Source)相似,消息监听通道接口则是Spring Cloud Stream提供应用程序监听通道消息的抽象处理接口。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值