为了解释我的情况:
我有一个Kubernetes集群,有两个工作节点。在每一个例子中,我都有一个appx运行实例。这意味着我有两个appx实例同时运行。
这两个实例都订阅主题topicX,该主题有2个分区,是apachekafka中名为groupX的使用者组的一部分。
据我所知,消息负载将在分区之间进行分配,但也会在使用者组中的使用者之间进行分配。到目前为止还不错,对吧?
在我的整个解决方案中,我有一个按国家和ID唯一约束的层次划分。国家和ID的每个组合都有一个pickle模型(python机器学习模型),它存储在应用程序访问的目录中。对于每个国家和身份证的组合,我每分钟收到一条信息。
问题是,使用Kafka可以在不同的实例之间平衡消息,要访问每个实例中的pickle文件而不知道消息属于哪个国家,我必须在两个实例中存储pickle文件。
有办法解决这个问题吗?我宁愿保持尽可能简单的设置,以便它是容易的规模和增加第三,第四和第五个国家以后。
请记住,这是一种过度简化的解释问题的方法。实例的数量在现实中要高得多等等。
对。如果你看看 this table PV (物理卷)支持 ReadWriteMany
PV
ReadWriteMany
在我看来,NFS是最容易实现的。请注意,Azurefile、Quobyte和Portworx是付费解决方案。