Реализация обновлений транзакционной конфигурации - PullRequest
0 голосов
/ 23 марта 2020

Я ищу некоторые указатели, по которым я мог бы прочитать, поскольку я не совсем уверен, какие термины мне следует искать для решения моей проблемы.

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

Суть в том, что это необходимо реализовать в приложении и проблему нельзя перенести в транснациональная БД, потому что:

  1. Количество переменных конфигурации довольно мало
  2. Это высокопроизводительное приложение, которое сильно пострадает, даже если некоторые из этих переменных будут обработаны извне

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

Еще одна вещь, нет Здесь проблемы масштабирования, количество используемых переменных жестко закодировано. Приложение уже выделяет все ресурсы для всех возможных конфигурационных переменных. Это вопрос эффективной сигнализации, когда обновление может происходить безопасно, и с чистой обслуживаемой конструкцией.

...