update readme

This commit is contained in:
Edward 2020-05-07 15:06:54 +08:00
parent cc54e8d9ad
commit 5eb7e7fa58
3 changed files with 18 additions and 10 deletions

View File

@ -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)

View File

@ -1,12 +1,9 @@
# 入模式
# 入模式
或者叫做扇入模式,漏入模式,是一种消息传递模式,用于在工作组件(客户端:源、服务器:目标)之间创建聚合工作
或者叫做汇聚模式,漏入模式,是一种消息传递模式,用于在工作组件之间创建聚合流
对于Go其本质将多个channel的消息/数据合并到一个,达到聚合的目的。
对于Go来说,其操作将多个channel的消息/数据合并到一个,达到聚合的目的。
这里演示一个数据流,求和的例子。
注意这里演示两种FanIn方式:
+ 一种方式是多个Goroutine同时进行合并多个输入的channel.
+ 另一种方式是一个goroutine同时合并多个输入的channel数据。
这里演示,一个最佳实践将多个Goroutine的输入同时进行合并到单个channel中.

View File

@ -1 +1,12 @@
# 淡出模式
# 扇出模式
或者叫做发散模式,用于将单个源的数据分发给多个对象,或者重新分发到多个输入源,形成数据广播。
这个模式比较适合1对多的数据copy比如音频流广播一到多视频流一到多。
对于Go来说操作往往是将一个channel的数据重新分发到多个channel数据广播的目的。
常见的Fan-Out有两种场景:
+ 随机分发单一输入源的数据,到不同的多个目的地。
+ 将输入源的数据复制多份,分发到不同的目的地。