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