我每小时都会收到大约 20 个对我的网络服务的调用,但它们都是同时到达的。对于我收到的每个请求,我需要调用 telnet 服务器并执行一些命令。
问题在于telnet服务器无法处理所有这些请求。
我见过的处理这个问题的方法是: 将所有请求添加到数据库并让 cron 每 5 秒获取一次它们。 使用某种消息队列。
还有哪些其他方法以及什么可能是最好的方法?
谢谢!
最佳答案
我建议考虑实现 RabbitMQ。 http://www.rabbitmq.com/
安装/配置相当简单,您不必将请求插入数据库,而是可以将它们直接发送到消息持续存在的队列,即使 MQ 由于某种原因死亡/重新启动也是如此。
然后,您可以构建一个简单的消费者,以您想要的任何速率从队列中提取消息。
关于java - 延迟对java webservice的多次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16280530/