我这里只运行了一个服务,订阅了一个消息队列
生产者会不断的往队列里写入消息
我这里读取到消息后,还有一个处理消息的过程
如果是单线程的话,那么效率很低,如果前一条消息处理堵塞了,那么整个都会堵塞
我能想到的就是创建一个线程池,每个消息都用一个线程单独处理
这方面有没有比较好的处理方式,或者处理框架呢?
请大佬指点一下,谢谢
1
dangge 2021-02-16 13:47:17 +08:00
先看是什么消息队列
然后找对应的封装好的框架 ---------------- 如果前一条消息处理堵塞了,那么整个都会堵塞 起异步线程处理啊。 |
2
ferock 2021-02-16 13:54:01 +08:00 via iPhone
master 加 worker 模式啊
|
3
Jooooooooo 2021-02-16 13:54:19 +08:00
消费线程也多来几个, 异步处理也是个办法
|
4
ferock 2021-02-16 13:56:04 +08:00 via iPhone
标准队列模式应该是同一个 group 消费是原子的,消费过程中不要继续监听,让其他 worker 监听不就好了
|
8
jenlors 2021-02-18 10:18:33 +08:00
最好的方式就是尽量压榨所有的 CPU,看语言使用多进程,多线程,协程。
|