Я также заметил, что этот пост старый, но надеюсь, что это поможет.
Поскольку вы еще не упомянули, как вы отправляете сообщения, например, через VIA GSM sim или через агрегатор. Я предполагаю, что вы говорите о хранилище базы данных?
То, как мы это делаем, - это сохранение всех сообщений, например, в таблице mysql tbl_sms_queue, это присваивается кампании, а также имеет статус фрагмента ENUM (в ожидании или отправке).
образец таблицы:
tbl_sms_queue
- pk_message_id INT PK AI
- fk_user_id INT
- fk_campaign_id INT
- fk_sender_name INT
...
- status ENUM('0','1') DEF 0
Затем наши серверы Gearman анализируют базу данных, мы можем отправлять около 4500 - 5000 сообщений в минуту.
К вашему сведению: я являюсь архитектором платформы для массовых SMS-сообщений, и наша база данных является настраиваемой установкой кластеризованного mysql и подразумевает использование gearman.