2015-05-25 3 views
2

Я Кассандра кластер из 4 узлов с IP-адресами:Чтение/запись данных в кластер Cassandra

  1. А: 192.168.0.1 (поставщик семян)
  2. Б: 192.168.0.2
  3. С : 192.168.0.3
  4. Д: 192.168.0.4

кластер сконфигурирован с уровнем согласованности (CL) одного для чтения и записи.

Я хочу писать/читать записи в/из кластера с помощью веб-службы, но у меня есть несколько вопросов:

  1. Для того, какой узел должен веб-службы подключения? Это имеет значение?
  2. Как это работает с операциями чтения? Скажем, запись была вставлена ​​в «B», и веб-служба пытается прочитать ее с «C». Он все еще извлекает его из «B», если запись еще не записана в «C»?

Было бы хорошо, если бы вы предоставили некоторые ссылки.

Спасибо заранее,

ответ

0
  1. Для того, какой узел должен веб-службы подключаются? Это имеет значение?

Нет, это не имеет значения, на каком узле вы указываете свои службы (ы) для подключения. Cassandra использует gossip protocol для получения информации обо всем кластере, включая другие узлы, к которым он может подключиться. Это позволит вам добавлять или заменять узлы в вашем кластере, не угрожая доступности вашего приложения.

Теперь, говоря, что это хорошая идея, чтобы дать вашему приложению несколько узлов для подключения. Это гарантирует, что он всегда может найти начальный узел для подключения.

  1. Как это работает с операциями чтения? Скажем, запись была вставлена ​​в «B», и веб-служба пытается прочитать ее с «C». Он все еще извлекает его из «B», если запись еще не записана в «C»?

Да с высокодоступной распределенной базой данных вы работаете под посылкой «в конечном итоге consistency». Чтение устаревших данных во время процесса replication возможно.

Насколько велика сделка? Netflix сделал очень хорошую презентацию по этому поводу: Eventual Consistency != Hopeful Consistency. Вы должны прочитать документ, а также посмотреть видео. Суть заключается в том, что время, затрачиваемое на риск для устаревших или «грязных чтений», обычно представляет собой низкие двузначные миллисекунды.

В конце концов, это действительно не должно быть большой проблемой, если вы не имеете дело с очень высокой пропускной способностью чтения. Если вы обнаружите, что это так, вы можете всегда increase your read and/or write consistency level для затронутых данных.

+0

Большое спасибо за подробный ответ. Это отвечает на мой вопрос :) – Bilal

+0

Отлично. Рад, что смог помочь! – Aaron