[英]Generating PDFs in multi-threaded environment
目标是提供pdf生成服务。 该服务可通过简单的servlet获得。
这样的假设是,该服务应该在多个负载平衡的服务器(例如Tomcat实例)上运行,并且每个服务器都运行其手动创建的线程,这些线程会生成PDF。 每个请求都必须写入数据库,并且它的pdf状态必须在整个过程中进行更新,例如:
另一个假设是,每个收到请求的Tomcat实例都负责生成文档。 整个解决方案在重新启动后必须是持久的,因此每个服务器实例都需要以某种方式存储其任务队列(例如,在文件中?)。
有人可能会认为整个过程可能与数据库同步,但是IMHO轮询数据库以获取新的PDF请求可能很耗时。
有任何想法,提示吗?
假设是灵活的,因此,如果有人碰巧提供了一些很好的超越假设的解决方案,请您分享他/她的想法。
要进行排队,请使用带有持久队列的消息总线(例如RabbitMQ或ActiveMQ)。
如果侦听器在处理完消息之前死亡,则该消息将被取消确认,并可供其他侦听器处理。 另一个侦听器将接听它,并将状态再次设置为“进行中”,然后完成它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.