Что делать, если вы действительно испортили дизайн распределенной системы?

Связанный вопрос: Каков наиболее эффективный способ разбить централизованную базу данных?

Я постараюсь сделать этот вопрос достаточно общим, чтобы он помог другим.

Около 3 лет назад я внедрил интегрированный CRM и веб-сайт. Поскольку я хотел произвести впечатление на клиента, я реализовал самую дешевую архитектуру, о которой только мог подумать, - разместить центральную базу данных и веб-сайт на веб-сервере. Я создал настольное приложение, которое связывается с веб-сервером через веб-сервис (это приложение запускается из их главного офиса).

Оглядываясь назад, это было довольно глупо, поскольку теперь, когда компания выросла, их интернет-соединение с каждым месяцем становится все медленнее и медленнее. Теперь, из-за проблем со скоростью, настольное программное обеспечениевремя вышло на регулярной основе клиенту предоставляется 3 варианта:

Купите более быстрое интернет-соединение.Переместите базу данных (и веб-сайт) на внутренний сервер.Перепроектируйте архитектуру так, чтобы CRM и веб-базы данных были отдельными.

Первый вариант является «самым простым», но, безусловно, не самым дешевым в долгосрочной перспективе. Второй вариант; если мы переместим веб-сайт на внутренний хостинг, клиенту придется бороться с такими проблемами, как перегруженность / плохое / автономное подключение к Интернету, потеря питания и т. д. И последний вариант; клиент не хочет платить целую кучу денег за то, чтобы я перепроектировал и перекодировал архитектуру, и я не могу позволить себе сделать это бесплатно (мне нужно есть).

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

Ответы на вопрос(6)

Ваш ответ на вопрос