Использование теоремы CAP в переговорах с клиентами

Наша компания занимается разработкой программного обеспечения для электронных турникетов. Одним из самых напряженных требований заказчика было то, что турникеты должны работать в автономном режиме. В целях аудита турникет также должен отправлять каждую попытку прохода на наш главный сервер. Фактически, моя задача состоит в том, чтобы две распределенные таблицы, одна на турникете, работающая под управлением Windows и SQLite, а другая на сервере, работающая под управлением Linux и Oracle, всегда были согласованы друг с другом.

Турникеты (клиенты) связываются с сервером через крайне ненадежную беспроводную сеть, используя протокол SOAP через HTTP.

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

Итак, мой вопрос: является ли хорошей стратегией использование теоремы CAP, чтобы убедить нашего клиента, что это нормально, что мы не гарантируем согласованность при возникновении сетевого раздела? Хорошо ли говорить им: Вы не можете использовать турникет в автономном режиме и пытаться пройти аудит, потому что... теорема CAP?


person Evgeniy Gryaznov    schedule 14.03.2019    source источник


Ответы (1)


Мы смогли объяснить нашему клиенту, почему у них не может быть и согласованности, и доступности. Отвечая на мой собственный вопрос: да, вы можете упоминать CAP во время переговоров, вам просто нужно перевести его смысл обратно на язык бизнес-сферы клиентов.

person Evgeniy Gryaznov    schedule 18.03.2019