我从official DSE doc中读取了此内容,但未深入了解如何操作。有人可以解释或提供任何链接吗?
最佳答案
最好查看architecture guide以获取此类信息。
有多个地方可以视为某种负载平衡器。首先-您可以将请求发送到群集中的任何节点,该节点将充当“协调器”,将请求重新发送到实际拥有数据的节点。因为这不是非常理想,所以驱动程序提供了所谓的 token 感知负载平衡策略,在该策略中,驱动程序能够从数据推断出哪些节点负责处理这些数据,并将请求发送到基于其他信息选择的一个节点(由其他负载平衡策略贡献)。
如果有多个数据中心,则驱动程序和Cassandra本身能够在“本地”不可用的情况下将请求发送到“远程” DC(远程和本地的概念特定于消费者)。但是在这种情况下,其他一些因素也会起作用-例如,如果您具有LOCAL_
一致性级别,那么您的请求将不会发送到“远程”数据中心。
谈论应用程序设计-您可以在将要连接到其“本地”数据中心中的Cassandra集群的应用程序层之前使用负载平衡器,并使用LOCAL_
一致性级别来执行其操作。如果其中一个DC停机,则负载均衡器应停止将流量发送到该DC中的应用层。