From 5eb7e7fa582554d05982b3aabf45b84ff22fcf52 Mon Sep 17 00:00:00 2001 From: Edward Date: Thu, 7 May 2020 15:06:54 +0800 Subject: [PATCH] update readme --- README.md | 4 ++-- gomore/04_fan_in/README.md | 11 ++++------- gomore/05_fan_out/README.md | 13 ++++++++++++- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 68f9469..35a78ec 100644 --- a/README.md +++ b/README.md @@ -56,8 +56,8 @@ + [x] [发布订阅模式(Pub-Sub)](./gomore/01_messages) + [x] [时差模式(Time Profile)](./gomore/02_profiles) + [x] [上下文模式(Context)](./gomore/03_context) -+ [x] [淡入模式(Fan-In)](./gomore/04_fan_in) -+ [ ] [WIP][淡出模式(Fan-Out)](./gomore/05_fan_out) ++ [x] [扇入模式(Fan-In)](./gomore/04_fan_in) ++ [ ] [WIP][扇出模式(Fan-Out)](./gomore/05_fan_out) + [ ] [WIP][熔断模式(circuit breaker)](./gomore/06_circuit_breaker) + [x] [限流模式(rate limiting))](./gomore/07_rate_limiting) + [ ] [WIP][信号量模式(Semaphore)](./gomore/08_semaphore) diff --git a/gomore/04_fan_in/README.md b/gomore/04_fan_in/README.md index 8db6f12..1c4771a 100644 --- a/gomore/04_fan_in/README.md +++ b/gomore/04_fan_in/README.md @@ -1,12 +1,9 @@ -# 淡入模式 +# 扇入模式 -或者叫做扇入模式,漏入模式,是一种消息传递模式,用于在工作组件(客户端:源、服务器:目标)之间创建聚合工作。 +或者叫做汇聚模式,漏入模式,是一种消息传递模式,用于在工作组件之间创建聚合流。 -对于Go其本质是:将多个channel的消息/数据合并到一个,达到聚合的目的。 +对于Go来说,其操作是:将多个channel的消息/数据合并到一个,达到聚合的目的。 这里演示一个数据流,求和的例子。 -注意,这里演示两种FanIn方式: - -+ 一种方式是多个Goroutine同时进行合并多个输入的channel. -+ 另一种方式是一个goroutine同时合并多个输入的channel数据。 +这里演示,一个最佳实践,将多个Goroutine的输入同时进行合并到单个channel中. diff --git a/gomore/05_fan_out/README.md b/gomore/05_fan_out/README.md index 7c95948..f4da95d 100644 --- a/gomore/05_fan_out/README.md +++ b/gomore/05_fan_out/README.md @@ -1 +1,12 @@ -# 淡出模式 +# 扇出模式 + +或者叫做发散模式,用于将单个源的数据分发给多个对象,或者重新分发到多个输入源,形成数据广播。 + +这个模式比较适合1对多的数据copy比如音频流广播,一到多,视频流,一到多。 + +对于Go来说,操作往往是将一个channel的数据,重新分发到多个channel,数据广播的目的。 + +常见的Fan-Out有两种场景: + ++ 随机分发单一输入源的数据,到不同的多个目的地。 ++ 将输入源的数据复制多份,分发到不同的目的地。