У меня общий вопрос по архитектуре, надеюсь, ребята, могут мне помочь. Итак, сначала немного базового фона. У меня есть клиентская база среднего размера, использующая мой флагманский продукт, который в основном представляет собой бухгалтерское программное обеспечение crm Это продукт на базе Windows, и они размещают данные на своих серверах (обычно в своих офисах).
У меня есть приложение clickonce, которое загружает подмножество их базы данных на наши серверы. Мы храним все данные наших клиентов в одной базе данных. Мы даем каждому клиенту и его последующим записям набор данных.
Clickonce работает с использованием манифеста, который, по сути, определяет, какие записи добавить, удалить или обновить на наших серверах. Передача данных между сервером клиента и нашим сервером осуществляется через веб-сервис. После начальной загрузки (которая требует больших объемов данных) последующие загрузки только увеличивают разницу (которая намного меньше). Большинство наших клиентов загружают один раз в день.
У нас также есть веб-приложение, которое обращается к этому подмножеству данных для отображения информации различным пользователям, которые являются клиентами наших клиентов. У нас есть около 3000 активных пользователей для этого веб-приложения, которое посещает сайт примерно раз в неделю.
Проблема заключается в том, что запросы к нашей базе данных с веб-сайта, а также из службы загрузки истекают. Каждый раз, когда мы делаем новую версию, мы расширяем подмножество данных (т.е. добавляем новую таблицу или 2). Так что сразу после релиза нас засыпают загрузками. Поэтому наш сайт в последнее время не работает. Я думаю, что слишком много трафика происходит с одной базой данных, с точки зрения загружаемых данных и поиска данных для веб-сайта.
Мы бы хотели, чтобы подмножество данных было максимально синхронизировано с данными о флагманских продуктах.
Вещи, которые мы уже получили, включают планировщик кликов для загрузки данных рано утром. В настоящее время мы внедряем систему массового обслуживания, поэтому одновременно загружать может только x человек.
Какие пути я могу исследовать на долгосрочную и краткосрочную перспективу?
Cheer.