Обновление столбцов широких строк cassandra из разных приложений

#cassandra

Вопрос:

Являются ли два приложения, обновляющие разные столбцы широкой строки Cassandra, антипаттерном?

У нас есть вариант использования, когда мы хотим записать данные в Кассандру из приложения(app1). Другое приложение(app2), которое считывает эти данные, может пометить их для определенного варианта использования. App2 получает уведомление от app1 после изменения столбца широкой строки, и app2 соответствующим образом обновит строку.

Предположим, что app2 самостоятельно загружает данные в Cassandra из службы медленного отдыха. Со временем срок действия данных действительно истекает. Приложение 1 считывает эти данные и уведомит приложение 2 через очередь для обновления при определенном пороге истечения срока действия. App1 получает много вызовов от этих данных, поэтому, по сути, давайте предположим, что Cassandra действует здесь как кэш. Но между запросом на обновление и временем, затраченным app2 на обновление, может быть много запросов к app2 для обновления этих данных. Я хочу оптимизировать это, попросив приложение 1 обновить столбец для этой строки перед публикацией сообщения в приложение 2, в котором сообщается, что отправлен запрос на обновление . Таким образом, app2 удалит повторяющиеся события для этой строки, которая обновляется aldready.

Комментарии:

1. Не могли бы вы, пожалуйста, подробнее сформулировать свой вопрос? Из моего понимания вопроса кажется, что вы можете делать это так, как хотите. Сталкиваетесь ли вы с какими — либо трудностями в том, что вы делаете?

2. Мы не сталкиваемся с трудностями, поскольку находимся на этапе проектирования. Я обновляю вопрос с более подробной информацией .

Ответ №1:

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

Одновременное обновление данных несколькими приложениями/клиентами вообще не является проблемой. Кассандра предназначена для обработки запросов в масштабе Интернета. Ваше здоровье!