Расскажите о системе Push

задняя часть Архитектура

В последний год или около того основная энергия работы была направлена ​​на разработку системы Push, и в нее было вложено много сил, но уже больше года я пишу код и закапываюсь в дорога, пренебрегая подведением итогов.Я пользуюсь этой возможностью, чтобы рассмотреть и обобщить.Соответствующий дизайн системы, я надеюсь, будет полезен для меня и читателей.

концепция

Push: это означает активную отправку, которая на самом деле представляет собой систему, в которой сервер активно отправляет сообщения в приложение пользователя. Нажмите с точки зрения пользователя

  • Вне приложения: основной формой отображения являются уведомления мобильного телефона (системные функции мобильного телефона, фиксированный стиль).
  • Внутри приложения: дисплей можно настроить в соответствии с потребностями, различные поп-музыки.

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

Архитектура

Элементами, содержащимися в начальном состоянии системы Push, являются только отправитель, системный канал и получатель.

image-20210524072122446

Отправитель: человек, который создает push-контент, как создается контент. Системный канал: канал для пользователей, которые достигают созданного контента, можно рассматривать как ядро ​​​​системы Push.

  • Он может подключаться к основным производителям мобильных телефонов, а пользовательское оборудование может быть отправлено производителю, когда пользовательское оборудование находится в автономном режиме.
  • Длинный канал соединения между самодельным сервером и приложением пользователя может напрямую связаться с пользователем через самодельный канал в онлайн-состоянии.

Получатель: Пользователь, содержимое отображается на мобильном телефоне пользователя.

Вышеупомянутое определенно более упрощено.Чтобы он действительно стал системой, нужно больше вещей, таких как отправка 100 миллионов пользователей за раз? В системе толпа должна быть шардирована и назначена на разные машины для решения этого вопроса, и лучше всего отправлять ее в градациях серого.Если есть определенное давление на систему, ей нужно ограничить ток. Конечно, существуют определенные меры контроля за последующим эффектом и производительностью данных в реальном времени.

  • Обработка больших данных: распределение задач
  • Параллельная обработка: оттенки серого, ограничение тока
  • Мониторинг данных: Платформа данных

image-20210524073656071

Конечно, вы также можете сделать некоторые вещи на стороне эксплуатации, чтобы снизить риски, добавить некоторые потоки утверждения, управлять и контролировать все отправленные данные контента, и есть много служб, которым необходимо использовать каналы для поддержки в дополнение к операциям.

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

image-20210524074728974

Если число пользователей велико, чисто ручной метод не может быть выполнен и требует определенного контроля, персонализированного обслуживания, персонализированного контента и персонализированного времени. В это время различные входы в систему вытесняют ресурсы канала, а также требуются некоторые назначения приоритетов, а также некоторый мониторинг и сигнализация каналов.

image-20210524080953525

На данный момент общие элементы в основном доступны, и что еще можно сделать, так это отшлифовать некоторые детали, а также обязанности компонентов и принять некоторые решения:

  • Определение операционных рабочих процессов через систему
  • Полностью открытая платформа, простота использования операционной платформы
  • Стабильность и масштабируемость системы, трансформация некоторых звеньев измерения давления и построение моделей. Кроме Push, чем еще может быть система?

Состав услуги

Некоторые из наиболее важных сервисов или платформ зависят от:

  • Контент-платформа
    • Инструменты безопасности контента
  • Платформа потока утверждения
  • Платформа алгоритмов
  • платформа данных
  • Длинная соединительная платформа
  • Центр конфигурации
  • Центр мониторинга сигнализации
  • ...

использование технологии

В основном используемая технология:

  • Кэш, регулирование, понижение версии
  • Центр конфигурации, очередь сообщений, центр диспетчеризации, кластерное хранилище, вызов RPC, управление журналами
  • Вычислительная платформа в реальном времени, автономная вычислительная платформа
  • Знание многопоточности, некоторые шаблоны проектирования

идея

Технически это не обязательно настолько продвинуто, главным образом потому, что пользовательская база велика, что в определенной степени увеличивает сложность системы. С технической точки зрения существуют соответствующие платформы, которые внутренне инкапсулируют технические трудности, а реальные технические трудности решаются на некоторых нижних уровнях или промежуточном программном обеспечении.

Главным для развития бизнеса сейчас стало уточнение бизнес-приоритетов, выявление технических препятствий, продвижение проектов. Требования к аналитическим способностям и социальным навыкам выше, чем к техническим.

Конечно, поскольку я технология, я все еще не могу перестать учиться и исследовать технологии.

В конце концов

Время ограничено, и стоит упомянуть о более впечатляющих вещах в Push, которые можно придумать, надеюсь, это может быть полезно читателям.