Никогда не теряя методы данных

Я задал этот вопрос на SO, и было предложено задать его здесь, что имеет смысл.

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

Если бы кто-то мог указать мне на книги или статьи, я был бы очень благодарен.

1 ответ

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

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

Для таких вещей, как денежные переводы, которые все обрабатываются с помощью транзакций базы данных и распределенных транзакций в случае, если задействованы несколько серверов.

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

Другие вопросы по тегам