将cadence连接到azure cosmo cassandra api

lnxxn5zx  于 2021-06-13  发布在  Cassandra
关注(0)|答案(1)|浏览(404)

我用docker run-e cassandra\u seeds=10.x.x.x e ubercadence运行cadence和cassandra外部运行/server:. 并成功运行。
azure cosmos表示,任何运行在cassandra上的系统都可以使用提供的cosmos cassandra api,通过修改客户端连接创建代码来使用azure cosmos,例如:go app示例代码:

func GetSession(cosmosCassandraContactPoint, cosmosCassandraPort, cosmosCassandraUser, cosmosCassandraPassword string) *gocql.Session {
    clusterConfig := gocql.NewCluster(cosmosCassandraContactPoint)
    port, err := strconv.Atoi(cosmosCassandraPort)

    clusterConfig.Authenticator = gocql.PasswordAuthenticator{Username: cosmosCassandraUser, Password: cosmosCassandraPassword}
    clusterConfig.Port = port
    clusterConfig.SslOpts = &gocql.SslOptions{Config: &tls.Config{MinVersion: tls.VersionTLS12}}
    clusterConfig.ProtoVersion = 4

    session, err := clusterConfig.CreateSession()
    ...
    return session
}

在我的终端,我可以将外部cassandra的cqlsh(cadence正在使用它来持久化)连接到azurecosmos,并且可以在azurecosmodb中创建keyspace表。但是,当我运行cadence服务器时,所有新表仍然是在本地cassandra本身(而不是axure cosmos)上创建的,可能cadence只连接到cassandra。
下面有两个问题:
1.由于cadence是用go编写的,我们可以修改源代码来建立到azurecosmodb的连接吗。或
或者我们可以在分别运行cassandra和cadence时传递cosmocassandra的主机、端口、用户名和密码(docker run-e cassandra\u seeds=10.x.x e ubercadence/server:)
COSMOSCAssandra联系人:xyz.cassandra.cosmos.azure.com cosmoscassandraport:10350 cosmoscassandrauser:xyz cosmoscassandrapassword:xyz

ocebsuys

ocebsuys1#

我正在积极支持其他nosql数据库:https://github.com/uber/cadence/issues/3514 完成后,使用azurecosmos/aws键空间会更容易。
基本上,我们只需要从现有的Cassandra模型定制一小部分。

相关问题