Commit d670e50f by 仲光辉

style: remove temp doc

parent 46758e47
# 蛋壳创意科技-技术测试-SpringCloud
++ /dev/null
# 蛋壳创意科技-技术测试-SpringCloud
> company: [蛋壳创意科技](https://www.dankal.cn/)
>
> code: [dankal-test-kafka](http://git.dankal.cn/mercyModest/dankal-test-kafka.git)
>
> spring-kafka-doc: [spring-cloud-stream-2.1.x](https://github.com/spring-cloud/spring-cloud-stream/blob/2.1.x/docs/src/main/asciidoc/spring-cloud-stream.adoc)
>
## 前景小述
[Spring Cloud Stream](https://github.com/spring-cloud/spring-cloud-stream/tree/2.1.x) 是一个用于构建基于**消息**的微服务应用框架,使用 Spring Integration与 Broker 进行连接。
> 啥是`Broker`?
>
> 一般来说,消息队列中间件都有一个 **Broker Server**(代理服务器),消息中转角色,负责存储消息、转发消息。
>
> 例如说在 RocketMQ 中,Broker 负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。另外,Broker 也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。
Spring Cloud Stream 提供了消息中间件的**统一抽象**,推出了 publish-subscribe、consumer groups、partition 这些统一的概念。
Spring Cloud Stream 内部有两个概念:**Binder****Binding**
① Binder,跟消息中间件集成的组件,用来创建对应的 Binding。各消息中间件都有自己的 Binder 具体实现。
```java
public interface Binder<T,
// 消费者配置
C extends ConsumerProperties,
// 生产者配置
P extends ProducerProperties> {
// 创建消费者的 Binding
Binding<T> bindConsumer(String name, String group, T inboundBindTarget, C consumerProperties);
// 创建生产者的 Binding
Binding<T> bindProducer(String name, T outboundBindTarget, P producerProperties);
}
```
② Binding,包括 Input Binding 和 Output Binding。Binding 在消息中间件与应用程序提供的 Provider 和 Consumer 之间提供了一个桥梁,实现了开发者只需使用应用程序的 Provider 或 Consumer 生产或消费数据即可,屏蔽了开发者与底层消息中间件的接触。
![](https://img.mercymodest.com/public/20210130110316.png)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment