我们正在我们公司开始新产品,我们期待在DB上发生大量的保存。 db可能无法有效处理每秒这么多的保存。在这种情况下,什么是好的架构?
我们计划使用spring MVC来连接客户端。使用EJB将数据保存到数据库中(spring ejb集成)。显然是群集设置,但取决于他的新架构。
我们所做的所有保存都需要正确处理。我从未使用过MQ,我不知道它是否比这种情况有任何优势。
对数据库的保存次数大约为每(1-5)秒100,000次,这只是一个估计值。什么类型的设置会产生更好的结果?
答案 0 :(得分:1)
我会考虑使用Apache Kafka对您的写入进行排队,并让消费者应用程序从队列中读取并写入数据库。这将减少负责同步写入数据库的Web服务器的延迟。在几个不同的基准测试中,Kafka已被证明每秒可处理多达500k次写入。因此,您将拥有足够的带宽来处理您期望的音量。 Kafka有一个java api,因此它非常适合您当前的架构。