一家企业正在运行一个近源第三方应用程序,该应用程序连接到他们的开源Cassandra集群。他们希望迁移到基于云的Cassandra作为服务,但需要知道应用程序是否能够支持它。
他们如何确定应用程序正在使用的驱动程序版本?
发布于 2023-05-26 01:44:12
Cassandra4.0增加了一个名为虚拟表 (卡桑德拉-7622)的新特性。它们通过CQL而不是JMX公开服务器端的配置设置、度量和各种元数据。
随着虚拟表的实现,客户端(应用程序/驱动程序)度量(o.a.c.metrics.ClientMetrics.java班级)也被重构(卡桑德拉-14524),并且有一个新的类来跟踪客户端连接上的元数据,其中包括以下内容(从…ConnectedClient.java):
public Map<String, String> asMap()
{
return ImmutableMap.<String, String>builder()
.put(ADDRESS, remoteAddress().toString())
.put(USER, username().orElse(UNDEFINED))
.put(VERSION, String.valueOf(protocolVersion()))
.put(DRIVER_NAME, driverName().orElse(UNDEFINED))
.put(DRIVER_VERSION, driverVersion().orElse(UNDEFINED))
.put(REQUESTS, String.valueOf(requestCount()))
.put(KEYSPACE, keyspace().orElse(""))
.put(SSL, Boolean.toString(sslEnabled()))
.put(CIPHER, sslCipherSuite().orElse(UNDEFINED))
.put(PROTOCOL, sslProtocol().orElse(UNDEFINED))
.build();
}具体来说,DRIVER_NAME和DRIVER_VERSION。
对于较老的Cassandra集群,备选方案包括:
干杯!
https://dba.stackexchange.com/questions/327551
复制相似问题