Apache Helix 是否能够在节点之间重新平衡数据?例如,我正在开发一个内存数据库,其中一些分区/分片数据需要移动到另一个节点。消息传递或应用程序属性存储是解决此问题的一种方法,还是有必要为节点之间的数据流寻找另一种解决方案?
关于后者,使用 RabbitMQ 或 Apache Kafka 等消息队列/系统是否舒适且高效?
Apache Helix 是否能够在节点之间重新平衡数据?例如,我正在开发一个内存数据库,其中一些分区/分片数据需要移动到另一个节点。消息传递或应用程序属性存储是解决此问题的一种方法,还是有必要为节点之间的数据流寻找另一种解决方案?
关于后者,使用 RabbitMQ 或 Apache Kafka 等消息队列/系统是否舒适且高效?
免责声明:我不知道 Helix 或 Rabbit
如果您使用 Kafka,它将在服务器上而不是在内存中持久化,但是您需要编写单独的消费者来在其他地方重建所述数据库。
例如,Kafka Stream 的 KTable对象正是为此目的。如果不使用默认行为,您的主题分区将由您来实施。