yugabyte 集群有 2 個區域,3 個可用區,6 個節點架構。中部4個節點,東部2個節點Node1 (Master, TServer) US-eastNode2 (Master, TServer) US-central-1Node3 (TServer) US-central-1Node4 (TServer) US-eastNode5 (Master, TServer) US-central-2 (Leader)Node6 (TServer) US-central-2應用程序正在中部地區運行。應用程序正在使用當前配置為向 Node2 發送 SQL 查詢的YCQL 驅動程序(yugabyte gocql 客戶端)(僅限)如此處所述: 在許多情況下,此轉發將純粹是本地的,因為 CQL 和 Redis 集群客戶端都能夠將請求發送到正確的服務器并避免額外的網絡躍點。上面關于 CQL 客戶端的說法是指 yugabyte gocql 客戶端嗎?這里它提到:“驅動程序可以將查詢路由到基于分區鍵(首選本地 DC)保存數據副本的節點?!笨蛻舳蓑寗映绦蛉绾沃老蚰膫€平板服務器發送請求?如果是,YCQL 驅動程序的連接配置是否與所有 4 個節點(在中心區域)都有連接,使客戶端驅動程序能夠知道正確的平板服務器,以發送查詢?提高查詢響應時間如果是,Hoes YCQL 驅動程序知道,哪個是發送查詢請求(INSERT/UPDATE/SELECT)的正確平板服務器?
1 回答

隔江千里
TA貢獻1906條經驗 獲得超10個贊
客戶端驅動程序如何知道向哪個平板服務器發送請求?
驅動程序定期查詢此表:
ycqlsh:system> select * from system.partitions;
它在哪里找到表格的拆分方式以及平板電腦的位置。
當您發送查詢時,您以驅動程序理解它們并散列它們并知道將它們發送到哪里的方式傳遞分區鍵。
如果是,YCQL 驅動程序的連接配置是否與所有 4 個節點(在中心區域)都有連接,使客戶端驅動程序能夠知道正確的平板服務器,以發送查詢?提高查詢響應時間
是的。這應該與 DC Aware 查詢路由相結合:https ://pkg.go.dev/github.com/gocql/gocql#hdr-Data_center_awareness_and_query_routing
如果是,Hoes YCQL 驅動程序知道,哪個是發送查詢請求(INSERT/UPDATE/SELECT)的正確平板服務器?
使用與上述相同的邏輯。了解所有集群上的平板電腦位置。
- 1 回答
- 0 關注
- 92 瀏覽
添加回答
舉報
0/150
提交
取消