История изменений
Исправление Kroz, (текущая версия) :
Потому как Вы не до конца понимаете что Вас ждёт, буквально, «прямо за углом».
Если б понимал, то наверное не задавал эти все вопросы.
Зависит от требований и архитектуры. Но я могу попробовать.
Как вы планируете решать split-brain проблему? Если что это ситуация когда две реплики (у вас же high availablilty, так?) сервиса который управляет данными теряют между собой связь (например, проблема на сети), каждая реплика теперь думает что другая недоступна, и каждая реплика становится мастером?
Как вы планируете решать проблему миграции данных, когда при очередном апгрейде придётся поменять дата-схему?
Ваш C++ фреймворк умеет в бекапы? И как это будет работать если параллельно с бекапом кто-то будет добавлять/изменять/удалять записи?
Как с работой под нагрузкой? Тесты проводились? Ограничения задокументированы? Что будет если отправить 1 000 одновременных запросов на завись или чтение? Что если ключ или значение будет, скажем 1Gb? Какой timeout на запрос на чтение и на запись? Если какой-то запрос будет отрабатывать 1 час, какие есть у клиента средства чтобы понять причину?
Как с документацией? Кто-то кроме вас (вашей команды) сможет поддерживать и развивать ваш C++ фреймворк? Что будет когда больше половина вашей команды уволится (не обязательно в один момент) или компания попросит передать поддержку вашего фреймворка другой команде?
Поддержка вашего C++ фреймворка - это ваша основная деятельность? Делаете ли вы регулярные аудиты на уязвимости, обновляете ли вы регулярно зависимости (если они есть) когда какая-то версия зависимости прекращает срок своей жизни?
Это навскидку…
Исходная версия Kroz, :
Потому как Вы не до конца понимаете что Вас ждёт, буквально, «прямо за углом».
Если б понимал, то наверное не задавал эти все вопросы.
Зависит от требований и архитектуры. Но я могу попробовать.
Как вы планируете решать split-brain проблему? Если что это ситуация когда две реплики (у вас же high availablilty, так?) сервиса который управляет данными теряют между собой связь (например, проблема на сети), каждая реплика теперь думает что другая недоступна, и каждая реплика становится мастером?
Как вы планируете решать проблему миграции данных, когда при очередном апгрейде придётся поменять дата-схему?
Ваш C++ фреймворк умеет в бекапы? И как это будет работать если параллельно с бекапом кто-то будет добавлять/изменять/удалять записи?
Как с работой под нагрузкой? Тесты проводились? Ограничения задокументированы? Что будет если отправить 1 000 одновременных запросов на завись или чтение? Что если ключ или значение будет, скажем 1Gb? Если какой-то запрос будет отрабатывать 1 час, какие есть у клиента средства чтобы понять причину?
Как с документацией? Кто-то кроме вас (вашей команды) сможет поддерживать и развивать ваш C++ фреймворк? Что будет когда больше половина вашей команды уволится (не обязательно в один момент) или компания попросит передать поддержку вашего фреймворка другой команде?
Поддержка вашего C++ фреймворка - это ваша основная деятельность? Делаете ли вы регулярные аудиты на уязвимости, обновляете ли вы регулярно зависимости (если они есть) когда какая-то версия зависимости прекращает срок своей жизни?
Это навскидку…