Ваш балансировщик нагрузки HTTP должен определять, какой сервер, на котором работает ваше приложение codeigniter, будет обслуживать входящий запрос. Все ваши представления, модели и контроллеры будут реплицированы на все серверы, но будут взаимодействовать с одним хранилищем данных (например, mysql db). Уникальный сеанс между клиентом и вашим сервером будет поддерживать синхронность между экземпляром сервера, с которого обслуживается клиент.
Я не думаю, что вам действительно нужно беспокоиться о создании мыльного слоя, если только каждый из ваших серверов приложений не поддерживает свои собственные базы данных локально, а затем синхронизируется с главной БД или между собой.