我的消息有以下路线:
- 客户端发送http(或其余)请求
- 他希望在请求范围(请求 - 响应)
中得到答复
- 系统计算新的correlationId
- 他的请求是兔子队列1,然后是兔子队列等,
- 队列2使用正确的correlationId
将回复发送到特殊输出队列
- 客户端侦听此队列,如果他的corrId到来,则获取结果并发送回客户端(通过concurrenthashmap,即弹簧单例bean)
醇>
我有以下问题:
- 如果我运行2-3个节点而不是1个,则10k消息处理时间保持不变,很奇怪
- 我必须使用Thread.sleep()等待输出队列 - 还有更好的解决方案吗?
- 我必须处理100k /秒的系统,这是一个很好的架构吗?
- 我的代码中有一个全局ThreadTaskExecutor,因此在单独的线程中监听正确的corrId。我觉得在应用程序中拥有一个全局无限制的线程池并不好,我是对的吗?
醇>
请帮我这个系统,也许你有更好的想法如何组织它,因为我现在有20条消息/秒速率,在队列1中我只从数据库中选择一条记录并插入另一条记录,这速度是否正常?请帮忙