Есть ли примеры горизонтального масштабирования БД на Laravel?
Есть приложение на laravel 5.1. Оно работает с БД PostgreSQl. Так как нагрузка на приложение и БД с каждым разом увеличивается, то появилась необходимость в реализации горизонтального масштабирования. Требуется разделить данные некоторых таблиц по разным серверам в зависимости от ID компаний (как пример).
Алгоритм реализации данного функционала я понимаю. Но в сомнениях применительно этого масштабирования в рамках Eloquent ORM, т.к. из коробки возможности разделения данных одних и тех же таблиц по разным серверам нет. В Гугле, к сожалению, по этому поводу ответов не нашел.
У кого есть опыт разработки подобного решения на laravel или может кто видел примеры реализации, поделитесь пожалуйста информацией.
Не хочется отдавать обязанности распределения (даже если оно равномерное) базе данных. Т.к. сервера могут быть разных мощностей, а координатор БД этого попросту не знает.
Хотелось бы самому контролировать распределение данных по шардам.
Это не подходит для решения моей проблемы. У меня не просто сайт, а проект с высокой нагрузкой, со своей бизнес логикой, которая не ограничивается обработкой http запросов через контроллеры. Если экземпляры одной модели находятся на разных серверах, как мне придется их получать? Для этого понадобиться карта шардов на мастере, которая будет показывать какие экземпляры модели на каком шарде расположены. А потом уже их от туда получать. То что предлагает разработчик, не накладывается под мою концепцию. Пока приблизительное решение вижу в направлении паттерна Repository, с сохранением промежуточных данных в кэше.