我正在实施一个审核系统,用户可以上传需要审核的数据项,审核人员会对其进行审核并提供评论。每个数据项都需要由3位评审员进行审核。
项目应按顺序或多或少地处理 - 理想情况下,项目A将被添加到系统中,审阅者1,2和3将对其进行审核并将其返回给用户。然后将项目B添加到系统,审阅者2,5,1审查它,依此类推。当然,由于审稿人可以同时工作,并且有超过3个审稿人,系统应该支持同时审查的多个项目(当然是由不同的审稿人)。
我不确定如何实现数据项存储库。要求是:
我可以使用SQL数据库实现所有这些,但它不能很好地扩展。
是否有现成的排队系统支持这样的事情(基本上,弹出不符合条件的第一项)?或者将其添加到现有排队系统的某种方式?
答案 0 :(得分:1)
鉴于SQL数据库是许多企业级系统的基础,我认为没有基础,它不会很好地扩展"声明。确实,大规模企业系统受益于专用排队系统,但这些系统正在处理例如零售银行一天内要处理的所有交易。我怀疑你可以审查这么多的项目以及许多并发审阅者,这个要求会给标准的SQL数据库带来压力 - 每小时处理60个项目的6,000个审阅者只能提供几百个tps。当然,我猜测你的要求的规模,所以听到它们的内容可能会很有趣。
但是,我可以看到将其实现为一组队列的概念上的优点,一个原则要求就是能够“给我这个队列中的下一个项目,我还没有检查过#34;”。
JMS选择器允许您根据标题字段内容选择记录,因此将Reviewer1和Reviewer2标题字段添加到您的消息应该允许有效选择下一个可用项目。因此,我猜测任何JMS兼容的排队系统就足够了。