Kubernetes: Petset Cassandra в нескольких DC

#cassandra #dns #kubernetes

#cassandra #dns #kubernetes

Вопрос:

Я успешно создаю Cassandara Petset в кластере Kubernetes в AWS. В то время как это единый кластер DC Cassandra. Подумываю о добавлении поддержки нескольких DC для cassandra. Скажем, есть один кластер kubernetes на западе США, один на востоке США, один в Европе. Я бы хотел, чтобы cassandra была установлена на каждом из этих контроллеров домена и могла реплицировать данные между этими 3 кластерами. Вопрос, на который у меня нет ответа, заключается в том, как позволить узлу cassandra petset на Западе США узнать другой узел cassandra petset в Европе? До подключения DNS они не могут анализировать DNS-имена друг друга, верно? У кого-нибудь был опыт в этом деле?

Ответ №1:

Вам необходимо учитывать стратегию Snitch, начального поставщика и топологии для Kubernetes, чтобы узлы знали о своем географическом местоположении и гарантировали, что копии данных установлены во всех регионах; для этого у вас должен быть коэффициент репликации, который обеспечит достаточное количество копий.

Здесь уже есть проект для интеграции с Kubernetes, но они упоминают, что он все еще экспериментальный.

Наконец, при работе с разными географическими местоположениями задержки могут быть убийственными, всегда желательно использовать для этих случаев локальные последовательности (т.Е. LOCAL_QUORUM, LOCAL_ONE, LOCAL_SERIAL)