yusank / yusank.github.io

Blog
https://yusank.github.io
2 stars 0 forks source link

posts/goim-worker-pool/ #19

Open utterances-bot opened 2 years ago

utterances-bot commented 2 years ago

[GoIM] 实现异步并发 worker 队列 - Yusank`s Site

https://yusank.space/posts/goim-worker-pool/

abserari commented 2 years ago

思考到一个新问题。channel 的模型是否可以通过长连接的方式扩展到网络上。

即当我存在 client 和 server 的时候。client 的请求在 server 端体现为 channel 的 receiver 阻塞监听,等待 server dispatch 到指定 channel 上后 client 才完成这个请求。

由此扩展一个 poller 模型,虽然 client 端代码是通过轮询的方式进行请求,但是在 server 端是事件驱动的,并通过网络传递到了 client 端。

yusank commented 2 years ago

@abserari 嗯嗯 可以的。听着有点像是mq 的 consumer 端的逻辑,根据 mq topic 注册不同的事件处理函数,然后由 mq server 端下发消息给 consumer 处理。这个时候你consumer 就是你说的这个 poller 模型下的 server 端,mq server 是这个模型下的 client 端。