То, что у вас есть, в порядке. Но DAO как веб-сервис может не справиться с возрастающей нагрузкой, плюс запросы веб-сервисов могут увеличить нагрузку на сеть. Я бы посоветовал сохранить приложение таким, каким оно есть, добавить кеширование (может потребоваться изменение кода) и масштабировать серверы приложений и базу данных.
Для горизонтального масштабирования общий подход заключается в добавлении большего количества серверов приложений и большего количества подчиненных в вашу СУБД. Обычно это сопровождается добавлением серверов кэширования, таких как MemcacheD, которые используются для кэширования ваших объектов-значений, и, как правило, часто требуемых объектов, которые не изменяются со временем. Кэширование отвечает быстрее, чем запрос, так как результаты кэшируются.
Вышеупомянутый подход мы использовали в течение восьми лет. С недавними изменениями в способе хранения данных и доступности инфраструктуры; режим дерзкий ( может быть реальная боль в шее, чтобы изменить существующее приложение ) шаг состоит в том, чтобы изменить ваше приложение (частично или полностью), чтобы использовать хранилище данных no-sql, эти хранилища данных специально созданы тяжелое чтение-запись. Есть много вариантов, если вы идете по этому пути - Кассандра, MongoDB, Динамо и многие другие