BroadNet
ЖурналИнженерия
Инженерия

Стоимость эксплуатации SMS-интеграции: bind-сессии, веб-хуки и сценарии сбоев.

Речь идёт не только о пропускной способности. Модель подключения, обработка DLR, операционные затраты и режимы отказов — всё это различается. Практическая модель для выбора правильной интеграции.

BroadNet Engineering
8 мин чтения
Инженерия · Выпуск 17
8 мин чтения

анее в этом году мы опубликовали краткий обзор сравнения SMPP и REST. Однако этот вопрос постоянно усложняется, поэтому мы подготовили более подробное руководство по принятию решений — то, с которым мы непосредственно работаем с новыми корпоративными клиентами на этапе планирования интеграции.

Принципиальное различие заключается в модели соединения.

HTTP API — это запрос/ответ по кратковременным соединениям. Вы отправляете сообщение методом POST, получаете ответ, и соединение может быть закрыто. SMPP — это постоянная, сохраняющая состояние сессия TCP: вы устанавливаете соединение один раз, держите сокет открытым и передаете PDU (submit_sm, deliver_sm) в обоих направлениях в течение нескольких часов или дней. Это единственное архитектурное различие определяет почти все практические компромиссы, описанные ниже.

Пропускная способность и задержка

  • HTTP: каждое сообщение содержит накладные расходы на установление соединения TCP + TLS, если не использовать активное объединение соединений. BroadNet не устанавливает фиксированных лимитов скорости на аккаунт (см. лимиты API), но при больших объемах накладные расходы на каждый запрос становятся узким местом.
  • SMPP: отсутствие рукопожатия для каждого сообщения. Однократное присоединение обеспечивает пропускную способность от сотен до тысяч транзакций в секунду; пропускная способность ограничена согласованным размером окна и SMSC, а не процессом установления соединения.
  • В случае трафика OTP протокол SMPP исключает этап установления TLS-соединения из критического пути — это важно, когда необходимо получить код подтверждения менее чем за две секунды.

Накладные

При использовании SMPP уведомления о доставке поступают в виде PDU deliver_sm в том же месте, где вы отправляете данные — в режиме реального времени, внутриполосно, без дополнительной инфраструктуры. При использовании HTTP API уведомления о доставке возвращаются в виде обратных вызовов веб-хука к размещенной вами конечной точке, что означает, что вам необходимо запустить общедоступный, высокодоступный HTTPS-сервис и согласовывать обратные вызовы с отправленными данными. Ни один из вариантов не является неправильным; это просто разные операционные обязательства.

Эксплуатационные расходы — та часть, которую команды недооценивают.

Интеграция HTTP — это то, что один бэкенд-разработчик выпускает за один день и в основном забывает. Интеграция SMPP — это инфраструктура: необходимо обрабатывать жизненный цикл привязки/отвязки, запросы на поддержание соединения (enquire_link keepalives), автоматическое переподключение с задержкой, управление окнами, отслеживание порядковых номеров и корректное переключение при множественных привязках. Это реальная, постоянная ответственность инженера. Многим командам, которые технически подходят для SMPP, лучше подходит HTTP просто потому, что они не хотят эксплуатировать постоянно работающий стек телекоммуникационных протоколов.

Простое эмпирическое правило

  • Трафик, формируемый приложением, объемом менее нескольких сотен сообщений в секунду, и небольшая команда — используйте HTTP API.
  • Если вы стабильно отправляете несколько сотен сообщений в секунду или вам нужны постоянные bind-сессии, если задержка OTP критична, вы являетесь агрегатором или у вас уже есть инфраструктура SMPP — используйте SMPP 3.4.
  • Смешанные потребности — многие клиенты BroadNet используют SMPP для пакетной и триггерной обработки трафика, а HTTP — для внутренних инструментов с небольшим объемом трафика. Нет никаких правил, запрещающих использование обоих протоколов.
BroadNet предоставляет одинаковые механизмы маршрутизации, соответствия идентификатору отправителя и обеспечения доставки как для SMPP 3.4, так и для HTTPS. Выбор протокола меняет структуру интеграции, но не качество сообщений или маршруты.

Один фактор, который не является решающим, заключается в следующем.

Стоимость сообщения одинакова для всех протоколов в нашей сети — выбор SMPP не дает скидки, а выбор HTTP не влечет за собой дополнительной платы. Выбирайте, исходя из модели подключения, требований к задержке и объема операционного пространства, которое хочет использовать ваша команда. А не из разницы в цене, которой не существует.

Полное сравнение по пунктам — в материале SMPP или HTTP (REST) API для SMS.

Была ли эта информация полезна?

Как мы готовим и проверяем материалы

Автор:

BroadNet Engineering

Инженеры управляют сетью: привязки SMPP , стеки SS7 , маршрутизирующие механизмы, скучная инфраструктура, которая делает возможным обработку миллиарда сообщений в месяц. Они пишут здесь, когда есть что-то, что стоит записать.

Продолжайте читать

Ещё три статьи из журнала.

Посмотреть все эссе
М
Инженерия

Матрица решений для корпоративной SMS-интеграции и зачем использовать оба протокола.

REST API прост, не хранит состояние и основан на веб-хуках. SMPP отличается высокой пропускной способностью, низкой задержкой и эффективностью бинарных файлов. Матрица принятия решений и аргументы в пользу использования обоих подходов.

BroadNet Engineering
11m
П
Инженерия

Пояснение к подтверждениям доставки SMS-сообщений (DLR) и кодам ошибок.

Подтверждение доставки (DLR) — это окончательное решение оператора по вашему SMS-сообщению. Что означают DELIVRD, UNDELIV, EXPIRED и REJECTD, и как читать поля stat и err.

BroadNet Engineering
10m
Р
Продукт

Размер окна SMPP: почему скорость вашего соединения ниже той, за которую вы платите.

Оператор согласовывает 100 сообщений в секунду, соединение доставляет двенадцать, и все винят сеть. В девяти случаях из десяти причина кроется в окне, оставленном в настройках по умолчанию. Вот что на самом деле делает оконная обработка в сессии SMPP и как её настроить по размеру.

BroadNet Engineering
11m
Журнал, по электронной почте

Одно эссе в месяц. Больше ничего.

Подпишитесь, и мы вышлем вам следующий материал — по инженерии, регулированию или промышленности — в день его отправки. Никаких рассылок, никаких рекламных предложений, никакого обмена информацией с третьими лицами. Отписаться можно одним щелчком мыши.

Одно письмо в месяц. Отписаться можно в любой момент. См. нашу политику конфиденциальности.

Что вы получите
  • Подробный текст, а не призыв к действию.
    Шесть-одиннадцать минут сосредоточенного письма на одну тему.
  • Написано операторами
    В штате компании работают инженеры, специалисты по регулированию и разработчики продуктов.
  • Регионально-зависимый
    Взгляд со стороны региона MENA на регулирующие органы, операторов и структуру каналов сбыта.
  • Раз в месяц
    Никаких рассылок по частям. Одно эссе, когда есть чем поделиться.
Прекратите читать. Начинайте отправлять.

Большую часть того, что мы пишем, мы освоили в процессе производства.

Если эта статья вас заинтересовала, нам, вероятно, стоит поговорить. Расскажите о сценарии использования, объемах, рынках — мы предложим маршруты, цены и контактные данные клиента, которому вы сможете позвонить.

$ curl -X POST https://api.broadnet.me/sms/sendSms