mirror of
https://github.com/crazybber/go-pattern-examples.git
synced 2024-11-22 03:46:03 +03:00
update readme
This commit is contained in:
parent
cc54e8d9ad
commit
5eb7e7fa58
@ -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)
|
||||
|
@ -1,12 +1,9 @@
|
||||
# 淡入模式
|
||||
# 扇入模式
|
||||
|
||||
或者叫做扇入模式,漏入模式,是一种消息传递模式,用于在工作组件(客户端:源、服务器:目标)之间创建聚合工作。
|
||||
或者叫做汇聚模式,漏入模式,是一种消息传递模式,用于在工作组件之间创建聚合流。
|
||||
|
||||
对于Go其本质是:将多个channel的消息/数据合并到一个,达到聚合的目的。
|
||||
对于Go来说,其操作是:将多个channel的消息/数据合并到一个,达到聚合的目的。
|
||||
|
||||
这里演示一个数据流,求和的例子。
|
||||
|
||||
注意,这里演示两种FanIn方式:
|
||||
|
||||
+ 一种方式是多个Goroutine同时进行合并多个输入的channel.
|
||||
+ 另一种方式是一个goroutine同时合并多个输入的channel数据。
|
||||
这里演示,一个最佳实践,将多个Goroutine的输入同时进行合并到单个channel中.
|
||||
|
@ -1 +1,12 @@
|
||||
# 淡出模式
|
||||
# 扇出模式
|
||||
|
||||
或者叫做发散模式,用于将单个源的数据分发给多个对象,或者重新分发到多个输入源,形成数据广播。
|
||||
|
||||
这个模式比较适合1对多的数据copy比如音频流广播,一到多,视频流,一到多。
|
||||
|
||||
对于Go来说,操作往往是将一个channel的数据,重新分发到多个channel,数据广播的目的。
|
||||
|
||||
常见的Fan-Out有两种场景:
|
||||
|
||||
+ 随机分发单一输入源的数据,到不同的多个目的地。
|
||||
+ 将输入源的数据复制多份,分发到不同的目的地。
|
||||
|
Loading…
Reference in New Issue
Block a user