TomTom имеет много голосов, и хотя он не ошибается, он также не прав, несмотря на его убедительный тон.
В этом конкретном случае OP, кажется, пишет приложение в стиле LOB для интрасети, котороеВероятно, этому препятствует только служба OData, имитирующая базовую базу данных, но что, если он не имитирует базовую базу данных?
Если он создавал приложение на основе различных или неизвестных будущих источников данных, то сервисыслой может объединять, повторно представлять, упрощать и объединять эти службы, даже если большая часть запросов в конечном итоге возвращается к SQL Server в соседней комнате.
Аналогично, если вы создаете приложение массового масштабаПод масштабом я подразумеваю миллионы пользователей, которые ожидают несколько секунд между действиями, а не миллионы сделок с валютой в час, а затем размещают сервисный слой между вашими приложениями, и данные представляют собой общую схему.Масштабируемость Интернета основана на многих небольших HTTP-серверах без сохранения состояния и инфраструктуре кэширования.
В реальной жизни одни и те же запросы выполняются бесчисленное количество раз, люди обновляют страницы или нажимают на одну и ту же ссылку снова и снова.Никто действительно не просит 10-метровые ряды, потому что не много людей могут смотреть на это сразу.Таким образом, работа с небольшими страницами обеспечивает непрерывность потока данных и чередование запросов.У вас также есть возможность ввести общий кэш-память ОЗУ на уровне сервисов или даже базу данных ОЗУ.
Вы можете даже обнаружить, что вам нужно разделить базу данных или разделить ее между SQL и ключом / значением.хранить.Затем вы можете выполнять объединения на промежуточном уровне, масштабировать и выгружать компоненты, требующие большого количества вычислений и соединений, с сервера базы данных.
Правило масштабирования в Интернете заключается в том, что база данных - это ваша горячая точка, и вынужно сделать все возможное, чтобы никто не говорил с ним!Будь то локальный HTTP-кеш на iPad, в прокси-сервере вашего провайдера, в кеше вывода IIS или в кеше Redis, все эти слои помогают распределить нагрузку, облегчают бремя.
Так что, если придет Карлчтобы взять у меня интервью и сказал, что он подумал о том, чтобы поместить слой OData перед своими блоками SQL, мне было бы интересно услышать его рассуждения.