Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从卡夫卡流式传输到Hazelcast并将其持久化到cassandra_Cassandra_Apache Kafka_Stream_E Commerce_Hazelcast - Fatal编程技术网

将数据从卡夫卡流式传输到Hazelcast并将其持久化到cassandra

将数据从卡夫卡流式传输到Hazelcast并将其持久化到cassandra,cassandra,apache-kafka,stream,e-commerce,hazelcast,Cassandra,Apache Kafka,Stream,E Commerce,Hazelcast,在深入问题的核心之前,让我先介绍一下系统的体系结构 我有来自卡夫卡的数据流,我的公司使用分布式缓存(确切地说是hazelcast),使数据准备好通过我们公开的web服务进行请求。我们还希望将缓存中的数据持久化到cassandra,使其持久。关于如何将数据提交给hazelcast,我有两种解决方案,我想听听您的建议(也许是另一种方式),并告诉我您认为最好的解决方案是什么以及为什么 1/使用kafka hazelcast连接器将数据直接从kafka发送到hazelcast,然后使用write-beh

在深入问题的核心之前,让我先介绍一下系统的体系结构

我有来自卡夫卡的数据流,我的公司使用分布式缓存(确切地说是hazelcast),使数据准备好通过我们公开的web服务进行请求。我们还希望将缓存中的数据持久化到cassandra,使其持久。关于如何将数据提交给hazelcast,我有两种解决方案,我想听听您的建议(也许是另一种方式),并告诉我您认为最好的解决方案是什么以及为什么

1/使用kafka hazelcast连接器将数据直接从kafka发送到hazelcast,然后使用write-behind和mapstores将数据持久化到cassadandra==>此解决方案有两个主要缺点,首先,每次将数据存储到cassandra时,我们都要序列化/反序列化(CPU的重要使用)第二,我们将所有用户不需要的数据都放入缓存(我们有很多逐出)

2/使用卡夫卡卡桑德拉连接器,将数据直接写入卡桑德拉,然后找到一种方法(您认为这部分有多复杂?)如果数据已经在缓存中,则通知hazelcast更新/逐出数据==>此解决方案的优点是,我们摆脱了mapstores所需的序列化/反序列化,只加载之前查询过的数据,并且密钥已经在缓存中

您喜欢这两种解决方案中的哪一种?为什么? 在您看来,在第二种解决方案中通知hazelcast的最佳方式是什么

提前感谢您的建议/回答
我希望我是简洁明了的

你考虑过吗?您可以使用它以容错的方式将卡夫卡的数据写入Hazelcast和Cassandra。感谢您的回答can Gencer,我已经考虑过这个选项,但Hazelcast jet是一个付费解决方案(我更喜欢社区解决方案)如果以相关方式在cassandra和hazelcast中插入==>则缓存和数据库之间的数据不一致/差异的风险更大,这是危险的。我需要确保我有完全相同的dataHazelcast Jet也是开源的,而不是付费的解决方案。这也是将卡夫卡的数据输入Hazelcast的标准方法。