Tech
[程序员] 让 claude 写了个与 single flight 对应的 batch flight
sonnet 5 ,只搞了 golang 版本。三次提示词,简单 review 了下,应该是 ok 了。
仓库: https://github.com/lesismal/batchflight
第一次提示词:
batch flight
背景
关于 single flight
社区已有 single flight 算法,通常是并发的上游对下游的调用时,合并成单个对下游的调用(比如数据库、缓存等基础设施)、返回相同的结果给上游,减轻对下游的压力。
single flight 实现,主要是简单等待,因为是上游大量并发请求、并且下游的操作可能是数据层、耗时久,高并发时段的热点接口能够较多地对多个并发请求合并、起到优化效果。
关于广播风暴
对于其他一些场景,比如:
IM 聊天软件,群聊时的消息的广播,假如 100 个玩家,每个玩家 1 秒发送一个消息,如果每个消息都直接广播给所有对应的其他玩家,一共就需要发送 100 100 个消息,对应 100 100 个 syscall write 。如果在线数量更大、消息数量更多,则会形成广播风暴。
多人游戏...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX