我计划将大量订单交易记录从商业网站存储到存储库(这里必须使用cassandra,即我们的数据库)。让我们把这个组件称为commerceOrderRecorderService。
问题的第二部分是-我想处理这些订单,并推进到其他下游系统。这个组件可以称为batchCommerceOrderProcessor。
commerceOrderRecorderService和batchCommerceOrderProcessor都将在java平台上运行。
我需要对这些部件的设计提出建议。特别是以下几点:
commerceOrderRecorderService
batchCommerceOrderProcessor
欣赏设计输入、代码示例和指向库的指针。谢谢。
发布于 2014-01-19 13:37:50
根据系统的总体需求,使用由以下内容组成的体系结构是可行的:
这种架构提供了高性能、可伸缩性和接近实时、低延迟的数据处理.它考虑到卡桑德拉在高速数据写入方面非常强大,但在读取连续记录列表方面却没有那么强。我们在我们的Storm+Cassandra MOCA平台中使用InnoQuant组合,并根据硬件处理25.000 tx/秒及更多。
最后,您应该考虑这样的架构是否会对您的场景造成过度的影响。现在,几乎任何单盒数据库都可以轻松地达到10 tx/秒。
发布于 2014-02-18 16:29:59
这个例子可能会有一点帮助。它使用jmxbulkloader加载大量事务,然后将结果批处理到一定大小的文件中,以便在其他地方传输。它是多线程的,但在相同的进程中。
https://github.com/PatrickCallaghan/datastax-bulkloader-writer-example
希望能帮上忙。顺便说一下,它使用的是最新的卡桑德拉2.0.5。
https://stackoverflow.com/questions/21139968
复制相似问题