mPaaS — это платформа для разработки мобильных приложений, созданная на основе клиентского приложения Alipay. Она предоставляет предприятиям комплексное облачное решение для разработки, тестирования, эксплуатации и обслуживания мобильных устройств. Эффективность, помощь предприятиям в быстром создании стабильного и качественного мобильного клиентского приложения.
проходить через"Анализ клиентской архитектуры mPaaS》 у нас есть предварительное понимание матрицы продукта и конкретного позиционирования mPaaS. Начиная с этой главы, мы разберем и обсудим систему основных серверных компонентов mPaaS, а также познакомим вас с подводными камнями и соответствующим практическим опытом, на которые mPaaS наступила в процессе создания системы серверных компонентов.
mPaaS предоставляет 3 основные платформы исследований и разработок для терминала: собственная среда разработки, среда разработки H5 и среда разработки апплетов, включая более 20 функциональных компонентов и более 100 элементов управления пользовательского интерфейса. Поскольку он определяется как мобильная платформа для исследований и разработок, для него, естественно, требуются надежные промежуточные возможности для поддержки всего процесса производства и эксплуатации клиента.Эта статья направлена на введение системы базовой архитектуры внутренних компонентов платформы mPaaS; Во-первых, давайте взглянем на общую схему архитектуры серверной части mPaaS:
Как показано на рисунке, mPaaS позиционируется как PaaS-платформа для мобильных терминалов, а под ней находится Ant Financial Cloud Base, которая содержит стабильную аппаратную среду, позволяющую быстро развертывать такие сервисы, как сеть, хранилище и база данных. в настоящее время оснащен распределенными базами данных финансового уровня, хранилищем файлов, службами кэширования, центрами регистрации, центрами конфигурации, центрами сообщений, диспетчерскими центрами, центрами мониторинга, платформами больших данных и другими базовыми службами, а также развертывает ежедневные требования к эксплуатации и обслуживанию. разрешений, публикации и других центральных услуг. mPaaS фокусируется на предоставлении функциональных компонентов, необходимых мобильному терминалу, ядром которого является консоль mAppCenter и пять основных функциональных компонентов:
1. Мобильный шлюз (MGS):
MGS — это компонентный продукт, который соединяет интерфейс RPC между клиентом и сервером, упрощая протокол данных и протокол связи интерфейса RPC, что может значительно повысить эффективность разработки и эффективность сетевого взаимодействия.
MGS — это фреймворк, который соответствует принципу «открыто-закрыто», поддерживает несколько клиентских протоколов связи: http/https/http2/spdy/mmtp (протокол мобильной связи Ant), может легко адаптироваться к нескольким терминальным приложениям и поддерживает несколько методов сериализации данных. : Json, протобуф. И имеет единую платформу управления и контроля стандартного интерфейса API, стандартизированные возможности DevOps:
На платформе управления и контроля управление интерфейсом RPC (добавление, удаление, изменение, онлайн и офлайн) может осуществляться удобно и быстро.После завершения настройки можно выполнить APITest в режиме реального времени, чтобы проверить, может ли интерфейс быть завершен как и ожидалось, а затем можно быстро сгенерировать клиентскую модель.Код поддерживает Android, iOS, JS и другие языки генерации кода. Для интерфейса RPC MGS может проверить подпись запроса от клиента к мобильному шлюзу, чтобы проверить личность вызывающего абонента для обеспечения безопасности;
MGS достаточно уверен, чтобы поддерживать различные шлюзовые платформы корпоративного уровня:
- Основные функции и архитектура соответствуют шлюзу производственной среды клиента Alipay, поддерживая высокий уровень доступности 99,9999+% в течение всего года с достаточной стабильностью.
- Поддержка клиента Alipay, Koubei, электронной коммерции, Jubao, гонконгской версии и других приложений, ежедневная активность на уровне миллиардов, испытанная на протяжении многих лет массовыми запросами на деятельность в красных конвертах Double Eleven, Double Twelve и Spring Festival, 4c8g single -Machine QPS может поддерживать 10000+/с, с супер автономной производительностью.
- Простая конфигурация может адаптироваться к различным терминалам и может подключаться к разнородным внутренним службам.
- Автоматически создавайте многосторонний SDK, реализуйте разделение клиентской и серверной частей и эффективно повышайте эффективность разработки.
- Он поддерживает регистрацию, обнаружение и контроль мобильных услуг, а также осуществляет агрегацию и интеграцию услуг, что значительно снижает затраты на управление и риски безопасности.
- Оптимизированный протокол данных и протокол связи значительно улучшают качество и эффективность сетевой связи.
- С маршрутизацией, управлением потоком, безопасностью, ETAG, пользовательским ответом и другими функциями. Объем доступа к API может быть ограничен, чтобы фоновый сервер не перегружался в часы пик; возвращаемое значение API может быть смоделировано для предоставления конкретных результатов ответа и сокращения количества обращений к серверной системе; его можно использовать после клиентских запросов перенаправляются в бизнес-систему клиента, проверьте легитимность запроса и отпустите его после проверки; запрос от клиента к мобильному шлюзу может быть зашифрован для обеспечения безопасности данных во время передачи; поддерживаемые в настоящее время алгоритмы шифрования включают ECC , RSA и национальные секреты, а также предоставляет услуги настройки кодов ошибок, которые могут настроить возвращаемое содержимое подсказки;
2. Пуш-сообщение (MPS):
MPS предоставляет профессиональное решение для отправки мобильных сообщений, запускает различные типы push-уведомлений для различных сценариев и отвечает персонализированным потребностям пользователей. интегрируйте push-функцию мобильных терминалов и поддерживайте взаимодействие с пользователями, тем самым эффективно улучшая коэффициент удержания пользователей и пользовательский опыт.
Несколько основных функций компонента MPS:
- Несколько методов push: может точно отправлять сообщения настраиваемым целевым группам пользователей, одному пользователю/устройству, всем пользователям и т. д. Push можно запустить со страницы консоли или через API-интерфейс вызова бизнес-системы;
- Пользовательская дата истечения срока действия: устройство не находится в сети, когда сообщение отправляется в первый раз.В течение срока действия сообщения устройство может установить цепочку или инициировать привязку пользователя, чтобы инициировать повторную отправку сообщения, обеспечивая скорость поступления сообщения. ;
- Персонализированный шаблон: предоставить пользователям функцию управления шаблонами для настройки персонализированных шаблонов и поддержки персонализированных требований пользователей к push-уведомлениям;
- Голосовое вещание: голосовой шаблон можно настроить в соответствии с потребностями бизнес-сценария.После того, как клиент получит уведомление, пользователь может быть уведомлен голосом, чтобы улучшить восприятие пользователя и количество кликов по сообщению.
- push-конфигурация: может выполнять настройку сертификата, поддерживать пользователей для включения push-уведомлений из сторонних каналов, таких как Huawei, Xiaomi, Meizu и FCM, а также поддерживать ввод информации о конфигурации.
- ключевая конфигурация: Предоставляет интерфейс настройки ключей, чтобы пользователи могли настраивать свои собственные ключи. Все внешние интерфейсы должны подписывать запросы для обеспечения безопасности пользователей. В то же время пользователям предоставляется функция получения сообщений для отслеживания результатов доставки сообщений. MPS также обеспечивает мощную поддержку для Alipay, Koubei и других клиентов с красными конвертами Double Eleven, Double 12, Spring Festival и др. При эквивалентном масштабе он может обеспечить возможность отправки миллиардов сообщений в секунду и скорость доставки сообщений. работает быстро, обеспечивая стабильное поступление клиентов, поддерживает сотни миллионов одновременных подключений каждый день, а стоимость доступа низкая, что позволяет эффективно предоставлять услуги для различных бизнес-сценариев.
3. Мобильная синхронизация (MSS):
Через защищенный канал передачи данных TCP+SSL бизнес-данные на стороне сервера активно синхронизируются (SYNC) с клиентским приложением своевременно, точно и упорядоченно.Это промежуточное программное обеспечение для обмена сообщениями между клиентом и сервером.
Проблемы, которые решает MSS:
- Клиенту необходимо неоднократно вызывать RPC-запрос на странице функции, чтобы получить последние данные, но на самом деле меняется лишь небольшое количество данных или вообще не меняется никаких данных.
- Когда бизнес-данные сервера изменяются, клиент не может вовремя это обнаружить и может только обновлять данные, регулярно опрашивая интерфейс RPC.
- В разных бизнес-сценариях клиенту необходимо вызывать разные запросы RPC для завершения обновления данных разных предприятий.
MSS определяет концепцию oplog, изучая принцип binlog базы данных MySQL. Наименьшая единица данных, передаваемая между сервером и клиентским SDK, называется oplog. интерфейс syndData сервера MSS, MSS будет упаковывать изменения данных, которые необходимо синхронизировать в бизнесе, в виде оплога и сохранять его в базе данных, а затем передавать оплог клиенту, когда клиент находится в сети, и запускать отправку сразу, если он актуален. Каждый оплог имеет уникальный идентификатор оплога, а идентификатор оплога гарантированно будет уникальным и будет монотонно увеличиваться (в порядке вызова) в пределах определенного пользователя и определенной сферы деятельности. MSS отправляет клиенту каждый оплог в порядке возрастания идентификатора оплога. С помощью механизма ACK и сервер, и клиент будут записывать максимальный идентификатор oplog (который также можно понимать как версию данных) синхронизированных данных клиента и выполнять дифференциальный расчет и дифференциальную синхронизацию при последующем создании новых данных.
MSS имеет множество функций push-уведомлений на выбор:
1. Определенный или глобальный
- уточнить: отправить конкретному пользователю (или устройству);
- Глобальный: отправлять данные всем пользователям (или устройствам);
2. Пользователь или устройство
- Пользователь: соответствует учетной записи, которая входит в клиент и синхронизируется по UserID;
- оборудование: соответствующее клиентскому терминальному устройству, синхронизированное через Utdid (генерируется клиентским SDK);
3. Одно устройство или несколько устройствПредположим, у пользователя есть два устройства A и B, тогда:
- Синхронизация с одним устройством: если часть данных была синхронизирована с устройством A, устройство B больше не будет получать данные;
- Синхронизация нескольких устройств: Даже если часть данных была синхронизирована с устройством A, она также будет синхронизирована с устройством B.
4. Постоянный или непостоянный
- Упорство: Не по порядку данные не попадают в базу.При срабатывании сервиса, если текущий клиент в сети, то он будет синхронизирован сразу, а если не в сети, то будет отброшен.
- непостоянный: данные хранятся в таблице инвентаризации, чтобы обеспечить синхронизацию последовательности базы данных с клиентом. Если он в данный момент подключен к сети, дифференциальный расчет и дифференциальная синхронизация будут запущены немедленно. Если он в данный момент не подключен к сети, следующий клиент будет онлайн, а затем запустить синхронизацию.
MSS охватывает все клиентские приложения в Ant, почти 400 бизнес-сценариев, десятки миллиардов записей ежедневно синхронизируются с различными клиентами, а также на протяжении многих лет поддерживает Double Eleven и Double Ten. 2. Весенний фестиваль Red Packet Promotion и другие мероприятия по-прежнему поддерживают уровень доступности 99,9999+%.Синхронизация каждого пакета данных с клиентом занимает всего миллисекунды, что является незаменимым расширенным компонентом текущего суперприложения.
4. Мобильная публикация (MDS):
MDS предоставляет пакеты обновления версии клиента, пакеты оперативных исправлений, автономные пакеты H5, пакеты установки апплетов и различные пакеты ресурсов, управление элементами конфигурации и службы публикации.
Служба публикации MDS может поддерживать публикацию в градациях серого для определенных групп пользователей посредством управления конфигурацией белого списка, а также может использовать расширенные правила фильтрации, такие как указание моделей, сетей, регионов и количеств в градациях серого, для проведения публикации в градациях серого в дополнительных измерениях. , Процесс публикации Также можно установить временное окно, процесс выпуска можно прервать в любое время и выполнить откат к предыдущей стабильной версии, чтобы уменьшить избыточность данных и пропускную способность устройства, MDS предоставляет возможность инкрементного дифференциального обновления пакетов в автономном режиме, даже в условиях нестабильной мобильной сети В сценарии по-прежнему могут быть предоставлены эффективные услуги по обновлению, в то же время для обеспечения безопасности пакет исправлений имеет настраиваемый процесс проверки подписи для обеспечения правильности источника сценария. -in также обеспечивает генерацию ресурсов исправления. Возможность упаковывать и подписывать пакет. Кроме того, MDS также имеет возможность компилировать, создавать и упаковывать установочный пакет клиента на основе платформы mPaaS.Пользователи могут размещать клиентский код в финансовой лаборатории GitLab, выполнять управление кодом, а затем собирать, упаковывать и выпускать в в режиме реального времени через управление сертификатами. Подождите, пока весь процесс разработки и выпуска будет завершен, и, наконец, подключитесь к сети.
5. Мобильный анализ (MAS):
MAS отображает и анализирует данные мобильных приложений по нескольким параметрам, таким как тип терминала, версия терминала, регион, тип сети, модель производителя и т. д., для достижения основных показателей продукта. Мониторинг может помочь компаниям лучше выполнять мониторинг бизнеса, понимание пользователей и анализ поведения, направлять продукт. итерации, совершенствуйте операции с продуктом, помогайте принимать маркетинговые решения и ускоряйте коммерциализацию бизнеса. К основным функциям МАС относятся:
1. Базовый анализ:
Сосредоточьтесь на общем анализе приложения, включая базовый анализ ежедневно вошедших пользователей, новых пользователей, времени использования, удержания пользователей, анализа страниц и путей доступа.
2. Расширенный анализ:
Он используется для конкретных потребностей в анализе бизнеса, ориентированного на приложения, предоставляя гибкие возможности многомерного анализа, предоставляя отчеты о горячем ремонте, чтобы помочь вам понять информацию, связанную с RPC, ремонтом и откатом.
3. Анализ производительности:
Предоставляет статистические функции для сбоев, зависаний и зависаний. Когда проблема с производительностью возникает на стороне клиента, служба мобильного анализа обеспечивает просмотр статистики анализа производительности в режиме реального времени.
4. Управление журналом:
Поддержка журналов поиска и запросов в реальном времени по ключевому слову; в сочетании с MPS/MSS и другими компонентными функциями динамические push-инструкции позволяют клиенту загружать полный пакет файлов журнала в режиме реального времени, который используется для анализа и определения рабочего состояния клиент; кроме того, режим реального времени можно переключить с помощью логики отчетов клиентского журнала управления сервером.
По каналу передачи данных (см. рисунок ниже):
После того, как клиентский модуль журнала SDK собирает файлы журнала, содержимое журнала выводится в файл журнала сервера через шлюз журнала mPaaS (mdap), а затем данные журнала доставляются в 2 с помощью средства чтения журнала на стороне сервера и ПО промежуточного слоя для сообщений Платформа данных (вычислительная платформа реального времени и автономная платформа больших данных).
Основным компонентом вычислительной платформы в реальном времени является JStorm. JStorm представляет собой систему, подобную HadoopMapReduce, разработанную Alibaba Cloud. Написав вычислительную топологию JStorm, разработчики могут обрабатывать файлы журналов, которые не могут быть обработаны. Данные журнала терминала могут быть рассчитаны , хранится и отображается в минутах.В настоящее время основные данные, пользовательский анализ, воспроизведение журнала и другие функциональные данные в MAS рассчитываются и производятся JStorm;
Оффлайн-платформа больших данных:
В настоящее время odps или spark от Alibaba Cloud в основном используются для завершения (выбирается в соответствии с фактической средой развертывания).Чтобы развить это, написав сценарии SQL и настроив запланированные задачи планирования, он может выполнить расчет сверхбольших данных, анализ поведения пользователей в MAS, потоковая передача Такие функции, как анализ хранилища и анализ последовательности страниц, рассчитываются и выводятся платформой.
На основе приложения данных предприятия могут сочетать большие данные, маркетинговую платформу и платформу push-уведомлений.Запустить маркетинговую активность на платформе, указать тип активности, алгоритм активности, участников и призы за активность, а также связаться с клиентом через push-сообщение, синхронизация данных, динамический выпуск и т. д. для продвижения клиентов, продвижения деятельности и эксплуатации. При этом в сочетании со сценарными требованиями операционной деятельности формируется полная цифровая операционная система, позволяющая контролировать количество участников операционной деятельности, скорость распределения деятельности, скорость списания и т. д., наблюдать за эффективностью деятельности.
Ранее McKinsey опубликовала отчет, в котором говорилось, что в эпоху Интернета, когда экономический рост Китая выходит на новый уровень, операционная среда традиционных предприятий становится все более жесткой, и большое количество компаний, занимающихся финансовыми технологиями, угрожают основному бизнесу традиционных финансовых предприятий в Китае. различные сегменты. Традиционные финансовые предприятия сталкиваются с беспрецедентными возможностями и проблемами, и цифровая трансформация неизбежна. В этом контексте Ant Financial mPaaS — это правильный способ для организаций самостоятельно осуществить цифровую трансформацию.
Благодаря содержанию этого раздела у нас есть предварительное понимание того, как Alipay строит компонентную систему на стороне сервера и постепенно уточняет и ускоряет соответствующие возможности для внешнего вывода в процессе. В дальнейшем мы проведем подробное обсуждение дизайна и оптимизации конкретных компонентов.
Мы также применили соответствующее техническое ядро к mPaaS и экспортировали его во внешний мир.t.cn/ELBlvEr
Что касается конкретных идей и методов разработки серверных компонентов, я также с нетерпением жду ваших отзывов и приглашаю к совместному обсуждению и обмену мнениями.
Читать в прошлом
«Анализ оптимизации конструкции приложения Alipay: экстремальное сжатие размера пакета Android»
«Анализ структуры программы Alipay Mini и способы ее глубокой интеграции в mPaaS»