我使用docker run -e CASSANDRA_SEEDS=10.x.x.x e ubercadence/server:在外部运行cassandra来运行cassandra。它运行得很成功。
Azure cosmos说,任何运行在Cassandra上的系统都可以使用提供的cosmos cassandra APi来使用Azure cosmos,通过修改客户端连接创建代码,例如: GO app示例代码:
func GetSession(cosmosCassandraContactPoint,cosmosCassandraPort,cosmosCassandraUser,cosmosCassandraPassword string) *gocql.Session { clusterConfig := gocql.NewCluster(cosmosCassandraContactPoint)端口,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用于持久化)连接到azure cosmos,并可以在azure cosmo数据库中创建KeySpace表。然而,当我运行Cadence服务器时,所有新的表仍然是在本地cassandra本身(而不是Axure cosmos)上创建的,cadence仅连接到cassandra。
所以基本上有两个问题分享如下:
1.由于cadence是用GO编写的,我们可以修改源代码来建立到AzureCosmoDb的连接吗?或
或者,我们是否可以在分别运行cassandra和cadence时传递cosmocassandra的主机、端口、用户名和密码(docker run -e CASSANDRA_SEEDS=10.x.x.x e ubercadence/ cosmosCassandraContactPoint:)cosmosCassandraContactPoint: xyz.cassandra.cosmos.azure.com cosmosCassandraPort : 10350 cosmosCassandraUser : xyz cosmosCassandraPassword : xyz
发布于 2020-09-19 10:18:20
我正在积极地支持其他Azure数据库:https://github.com/uber/cadence/issues/3514完成后,使用Azure cosmos会更容易。
https://stackoverflow.com/questions/63333998
复制相似问题