Основные компоненты сервера mPaaS: анализ архитектуры службы мобильной синхронизации MSS

Java mPaaS
Основные компоненты сервера mPaaS: анализ архитектуры службы мобильной синхронизации MSS

Вслед за серией «Основные компоненты сервера mPaaS» в этой статье основное внимание уделяется анализу архитектуры службы Mobile Sync. MSS — это один из основных базовых сервисных компонентов платформы мобильной разработки mPaaS, которая берет свое начало от полноканального решения для мобильных приложений, позволяющего передавать массивные данные с сервера клиенту в рамках Ant Financial Group.

Пожалуйста, ознакомьтесь с рекомендацией в конце статьи для контента, который был добавлен в эту серию.

Интерпретация основных понятий: служба мобильной синхронизации MSS

Основные концепции MSS:

  • Через защищенный канал передачи данных TCP+SSL бизнес-данные на стороне сервера активно синхронизируются (SYNC) с клиентским приложением своевременно, точно и упорядоченно, что можно определить как надежное сообщение между клиентом и промежуточным программным обеспечением сервера. .

Традиционный RPC использовался в интернет-индустрии на протяжении десятилетий и также может соответствовать большинству бизнес-сценариев и функциональных требований. Но на данном этапе, с полной популяризацией и сублимацией мобильного Интернета, как масштаб приложения, так и требования пользователя к отклику приложения в реальном времени вступили в новую стадию.

Из-за особенностей самого RPC традиционный ответ на запрос имеет много недостатков, таких как:

  1. В некоторых сценариях клиентское приложение должно вызывать запросы RPC для получения последних данных, в то время как сервер (облако) фактически не изменяет или изменяет лишь небольшой объем данных;

  2. Когда клиент запускается, различные бизнес-модули и бизнес-функции должны делать запросы RPC для завершения извлечения данных их соответствующих предприятий из-за их независимости в дизайне;

  3. Когда бизнес-данные изменяются на сервере (облаке), клиент не может воспринимать это в режиме реального времени или может только периодически опрашивать интерфейс RPC, чтобы регулярно проверять изменения;

  4. С технической точки зрения, большинство традиционных RPC основаны на коротких http(s) соединениях для обмена данными.Даже если соединение использует поддержку активности и другие функции, оно не может поддерживать соединение в течение длительного времени, и невозможно постоянное повторное использование ссылка, запрашивающая создание соединения, обмен сертификатами, шифрование и расшифровку, что принесет много потерь времени и производительности сети.

Поэтому для решения или оптимизации этих проблем возникла MSS, основными функциями которой являются:

  1. Надежная синхронизация: Так называемый надежный означает, что для бизнес-сценария, где требуется уровень QoS (качество обслуживания), требуемый бизнесом, SYNC гарантирует, что до тех пор, пока пользователь активен в течение периода действия данных и соответствует требуемым условиям. бизнес-пушком (номер версии клиента, тип операционной системы и другие параметры) клиент будет синхронизирован с данными, отправленными бизнесом.

  2. Пошаговый порядок: MSS гарантирует, что порядок сообщений, поступающих к клиенту по тому же каналу, должен соответствовать порядку, в котором бизнес-сервер вызывает сервер MSS, и все сообщения постепенно синхронизируются с клиентом.

  3. Высокий режим реального времени: когда сеть, подключенная к клиенту, находится в хорошем состоянии, характер отправки MSS в режиме реального времени очень высок, а время доставки сообщения почти равно времени чистой передачи по сети (доставляется в течение 1 с). Когда сеть, подключенная клиентом, нарушена непреодолимыми факторами, такими как колебания магистральной сети, сбой маршрутизатора, слабый сигнал базовой станции, полное хранилище клиента и т. д., MSS push будет ждать восстановления длительного TCP-соединения перед синхронизацией данных. .

Основы службы мобильной синхронизации MSS

Подобно механизму binlog MySQL, базовым блоком данных, передаваемым между сервером MSS и клиентским SDK, является oplog.Когда бизнесу необходимо синхронизировать данные об изменении с указанным пользователем или устройством, бизнес вызывает интерфейс MSS, и сервер MSS будет отправка бизнес-потребностей Синхронизированные изменения данных упаковываются в оплог и сохраняются в базе данных, а затем оплог передается клиенту, когда клиент находится в сети. Каждый оплог имеет уникальный идентификатор оплога, а идентификатор оплога гарантированно будет уникальным и монотонно возрастающим (в порядке вызова) в пределах определенного пользователя и определенной области бизнеса. Сервер MSS будет передавать каждый оплог клиенту в порядке возрастания идентификатора оплога.

И сервер MSS, и клиент записывают максимальный идентификатор oplog, полученный клиентом, который называется точкой синхронизации (что также можно понимать как номер версии данных).

  1. Типичный сценарий 1: при установлении длительного соединения выполняется синхронизация невыполненных данных.

Предположим, что у клиента есть три службы: Biz1, Biz2 и Biz3. Их соответствующие точки синхронизации: 8, 17, 21.

Сервер MSS проверяет три службы, чтобы увидеть, есть ли невыполненные операции ввода-вывода после точки синхронизации. Как показано на рисунке, сервер проверяет наличие у Biz1 двух невыполненных операций oplog с идентификаторами 23 и 26, Biz2 — трех невыполненных операций oplog с идентификаторами 24, 25 и 29 и Biz3 — одной невыполненной работы oplog с идентификатором 30.

Сервер отправляет клиенту данные невыполненной работы, найденные на предыдущем шаге.

После того, как клиент получает данные, он сообщает серверу наибольший идентификатор оплога каждой компании, и сервер подтверждает, что клиент получил данные. В настоящее время Biz1, Biz2, Biz3 имеют соответствующие точки синхронизации: 26, 29, 30. Сервер подтверждает, что задержки данных нет, и синхронизация временно переходит в стабильное состояние. В то же время на стороне клиента MSS SDK уведомляет Biz1, Biz2 и Biz3 о полученных новых данных.

  1. Типичный сценарий 2. Когда клиент находится в сети, отправляйте данные в режиме реального времени.

Предполагая, что клиент подключен к сети и длительное TCP-соединение все еще активно, бизнес-сервер Biz3 запрашивает синхронизацию части данных с клиентом, а сервер MSS назначает номер своего оплога 35, который сначала сохраняется в базе данных.

Сервер определяет, что длительное соединение между клиентом и сервером активно, и отправляет клиенту оплог с номером 35.

После того, как клиент получает oplog под номером 35, он сообщает серверу, что получил подтверждение ACK. В этот момент синхронизация снова временно достигает устойчивого состояния. В то же время на стороне клиента SYNC SDK уведомляет бизнес Biz3 о полученных новых данных.

Преимущества архитектуры службы мобильной синхронизации MSS

По своим характеристикам и принципам MSS может отражать уникальные преимущества:

  1. Инкрементальный толчок: Постепенная передача бизнес-данных может эффективно уменьшить избыточную передачу данных и значительно снизить затраты на передачу данных по сети.

  2. объединить толчок: когда клиент успешно инициализирован, сервер может отправить несколько бизнес-данных одновременно, избегая запросов RPC, сделанных разными бизнес-модулями.

  3. уменьшить количество запросов: если на сервере нет добавочных бизнес-данных, он не будет потреблять никаких затрат на клиентские запросы RPC, уменьшая количество избыточных RPC для бизнеса.

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

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

Анализ архитектуры службы мобильной синхронизации MSS

  1. Бизнес, MSS и клиент:

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

Существует также аналогичный механизм между SDK клиента MSS и бизнес-модулем для обеспечения надежности и уникальности данных, а также возможности получения бизнес-модулем.

  1. MSS и шлюз доступа:

Шлюз унифицированного доступа Ant (Accgw) упоминался в предыдущих статьях:

ACCGW предпринимает обязанности выгрузки TLS, контроль конфигурации, динамической маршрутизации вверх по течению, анализ протокола MMTP, сжатие пакета данных, сжатие пакета данных, удержанию соединения, управление движением движения и балансировки нагрузки, а также MSS (Sync) - это один из каналов маршрутизации. Сила, одержимая ACCGW, полностью используется MSS (синхронизация).

  1. MSS и MMTP&HTTP2:

MMTP, полное название мобильного транспортного протокола Mayi, представляет собой мобильный транспортный протокол Ant, который представляет собой частный протокол, разработанный на основе протокола TCP. Протокол делит сетевые пакеты на два типа кадров: кадры команд и кадры данных.

Кадр команды в основном реализует внутренний контроль сетевой системы, включая интеллектуальное сердцебиение, предназначенное для снижения энергопотребления устройства, кадр команды управления для удобного планирования канала, кадр конфигурации сети клиента и т. д.; кадр данных используется передавать реальные бизнес-данные. MMTP имеет минимальный размер данных, высокую безопасность, высокую расширяемость и исключительную производительность.Передача данных MSS (SYNC) также основана на MMTP;

Кроме того, для адаптации к отраслевым стандартам MSS также поддерживает каналы HTTP2 на основе мультиплексирования протокола данных MMTP.

Суммировать

MSS (SYNC) служил в муравьиных группахклиент Alipay,Муравей Фортуна,Alipay в Гонконге,Из уст в уста независимый клиент,Клиент продавца из уст в устаМногие другие суперприложения также используются в Ant International в Индонезии, Филиппинах, Малайзии, Macau Xinghui Bank и на других международных сайтах, а поддерживаемая сфера бизнеса охватывает почти все области Ant, от платежей, социальных сетей, маркетинга, интеллектуального обслуживания клиентов до благосостояния. кредит, страхование, интеллектуальный выпуск, интеллектуальная эксплуатация и техническое обслуживание и т. д.

В то же время SYNC на протяжении многих лет также участвует в рекламных акциях Double Eleven, Double Twelfth и Китайский Новый год в красных конвертах. Огромный объем внутренних ежедневных push-сообщений достиг сотен миллиардов, что стало незаменимой основной базовой возможностью приложения Группы, а также тяжелым ударом по основным компонентам сервера mPaaS.

На платформе Ant Financial Open Platform запущены три компонента платформы мобильной разработки mPaaS:

Читать в прошлом

«Начало | Обзор системы основных компонентов сервера mPaaS компании Ant Financial»

«Обзор системы основных компонентов сервера mPaaS компании Ant Financial: мобильный шлюз API MGS»

«Основные компоненты сервера Ant Financial mPaaS: анализ архитектуры сквозного доступа к мобильной сети в условиях параллелизма на уровне миллиардов»

«Основные компоненты сервера mPaaS: архитектура MPS для отправки сообщений и разработка процессов»

«Основные компоненты mPaaS: как Alipay создает систему анализа общественного мнения для мобильных продуктов? 》

«Основные компоненты сервера MPaaS: анализ архитектуры службы мобильной аналитики MAS»

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

QRCode

Группа Dingding: номер группы поиска «23124039» через Dingding

С нетерпением жду вашего присоединения ~