我们有一个要求,它会导致设计约束,它是显示停止。在这里,
发件人线程会将请求放入消息队列。输入源是一个包含1000万个请求的文本文件。
Recevier线程轮询来自另一个队列的响应并将其写入另一个输出文件。
设计约束:
Recevier线程必须将请求和响应写入输出文件。 如何做到这一点?
不应使用数据库
由于性能瓶颈,无法使用在收到相应的响应后发送和更新请求之前缓存请求。
在少数情况下,如果响应延迟很长时间,则会发生超时。
请建议。
答案 0 :(得分:0)
由于您只有一个Receiver线程,因此可以保证一次只处理一个请求。
让发送方线程写入请求和响应可能不是最优雅的设计,但您当然可以让Receiver线程写入{request,response}元组。 Receiver线程还可以在开始处理之前写入请求,并在完成之后写入响应。它将与您的目标具有相同的结果。
如果您提供有关设计的更多详细信息,我可以为您提供更多设计帮助。