Я использую cadence с внешним запуском cassandra, используя docker run -e CASSANDRA_SEEDS = 10.x.x.x e ubercadence / server :. и он работает успешно.
В Azure cosmos говорится, что любая система, работающая на Cassandra, может использовать Azure cosmos, используя предоставленный cosmos cassandra APi, путем изменения кода создания клиентского подключения, например: Пример кода приложения GO:
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
}
Со своей стороны, я могу подключить внешний cqlsh cassandra (который используется для сохранения cadence) к лазурному космосу и могу создать KeySpace, таблицу в лазурном cosmo db. Однако, когда я запускаю сервер Cadence, все новые таблицы по-прежнему создаются на самой локальной кассандре (вместо Axure cosmos), возможно, каденция связана только с кассандрой.
Итак, в основном есть два вопроса, представленных ниже:
1. Поскольку каденция написана на GO, можем ли мы изменить исходный код, чтобы установить соединение с AzureCosmoDb. или
- или мы можем передать хост, порт, имя пользователя, пароль космокассандры при запуске кассандры и каденции отдельно (docker run -e CASSANDRA_SEEDS = 10.x.x.x e ubercadence / server :)
космосКассандраКонтактная точка: xyz.cassandra.cosmos.azure.com космосКассандраПорт: 10350 космос