我有一个为voltdb配置的三节点群集。当前有2个应用程序正在运行,所有流量仅流向单个节点。 (仅一台服务器)
因为我们有3个集群(3个节点),并且数据在所有节点周围复制。我可以在一个节点上运行一项服务,而在另一节点上运行其他服务吗?有可能吗?
答案 0 :(得分:1)
是的,只要这两个服务使用相同的数据库,它们都可以指向集群中的不同节点,VoltDB就会将数据相应地重新路由到适当的分区。
但是,建议将应用程序连接到集群中的所有节点,以便它们可以更均匀地向集群发送请求。根据所使用的客户端,有一些优化可以根据所涉及的分区将每个请求发送到最佳服务器。这通常称为“客户端相似性”。客户端还可以简单地以循环方式发送到每个节点。与仅将所有流量发送到1个节点相比,客户端亲缘关系和循环轮询的效率要高得多。
另外,请谨慎在与VoltDB节点相同的主机上运行应用程序,因为它们可能会意外地使VoltDB进程耗尽所需的资源。但是,对于运行良好的应用程序以及在具有足够资源的服务器上,可以将它们放置在同一位置,许多VoltDB客户可以这样做。
完全公开:我在VoltDB工作。