我尝试在并发情况下使用go设计调度程序,调度程序需要将消息发送给专用工作者,该工作者只处理一种消息(或工作者),例如:
因为我可以动态添加/删除处理不同类型消息的专用工作者。现在我需要一个消息模式,只使用goroutine和channel。我打算有一个频道 - 一个相同类型的工作池,并将频道放在地图中,所以我可以根据地图中的键按类型分发消息,如果处理消息C的工作人员不存在,它将会只是将消息发送到垃圾信道进行非处理,同一类型的工作者可以同时处理相同类型的消息。我不确定它是否是更好的设计,有什么建议吗?
提前谢谢。