一定要开两个进程吗
来源:9-7 编码实战: 实现异步转移的MQ消费者

午夜包子铺
2020-06-09
实例中你起了两个main函数分别用于生产者和消费者,可不可以把在生产者(原来上传文件的main函数)的main函数中添加一个goroutine用作消费队列呢?因为想到在实际部署中,如果有两个main函数是不是就意味着要部署两个server到云服务器上,还要配置docker容器之间通信之类的?
写回答
1回答
-
同学你好,通过goroutine实现一个进程即作为生产者也作为消费者是没有问题的。在测试环境下可以这么做,不过为了更好的划分功能模块,以及提高上传效率(上传节点和文件转移节点进行隔离,通过异步来减少互相影响,上传节点只做上传,快速响应用户请求),还是建议将这两部分功能分离出来独立部署。隔离部署的话,的确意味着有两个server在上面运行;目前这两者之间没有直接通讯,是通过rabbitMQ来做异步通讯的。
112020-06-10