Автор: Xianyu Technology - Jianxin
1. Столкновение с проблемами
В экологии Xianyu между пользователями будет много отношений. Большинство этих отношений инициируются покупателями и связаны с продавцами.Например, покупатели связываются с продавцами посредством таких действий, как поиск, сбор и чат; другая часть — это отношения между платформой и пользователями. Проанализировав эти отношения, мы обнаружили две проблемы в этих отношениях:
- Уровень взаимодействия с пользователем недостаточно богат; Существующая система поддерживает только часть пользовательских отношений, включая избранное, лайки и т. д., а уровень пользовательских отношений недостаточно богат.
- Отношения между пользователями являются односторонними и недостаточно реальными; В существующем игровом процессе покупатели могут связываться с продавцами посредством различного поведения, но продавцы не могут проявлять инициативу в отношениях и взаимодействии с покупателями, а отношения, рассчитанные платформой, являются оффлайновыми, что не привлекательно для пользователей.
Упомянутые выше сценарии все находятся в одной и той же парадигме после абстракции: при выполнении определенного условия будет запущено соответствующее действие. Эта парадигма — основная идея IFTTT, а Xianyu IFTTT — решение этих проблем.
2. Концепция IFTTT
IFTTT — это инновационная концепция интернет-услуг, известная как «артефакт автоматизации сети», которая практична и проста по своей концепции. Полное название IFTTT: *Если это, то это*, что означает, что при выполнении условия «это» будет запущено действие «то». IFTTT состоит из трех частей: триггера, действия и рецепта.
Видно, что сама концепция IFTTT не сложна, его настоящая магия заключается в «сложности, составленной из простоты», то есть множество простых процессов IFTTT связаны друг с другом в конечный автомат, который охватывает весь Интернет, охватывает множество платформах и охватывает несколько устройств.
2.1. Сяньюй IFTTT
Xianyu IFTTT основан на сочетании бизнес-сценариев Xianyu и концепции IFTTT и обеспечивает инкапсуляцию стандартного протокола IFTTT, ненавязчивую и масштабируемую систему управления услугами.
- Осведомленность о многомерных отношениях с пользователями
Многомерность относится к охвату. Xianyu IFTTT абстрагирует и поддерживает более богатые отношения с пользователями, изучая больше измерений. Основываясь на данных об отношениях пользователей, мы можем создавать портреты пользователей и более эффективно привлекать пользователей.
- Двустороннее взаимодействие с пользователем в реальном времени
Нижний уровень Xianyu IFTTT имеет эффективные возможности хранения и обработки больших данных об отношениях пользователей для поддержки обработки отношений пользователей в режиме реального времени в бизнесе верхнего уровня; Xianyu IFTTT не только поддерживает отношения между покупателем и продавцом, но также поддерживает отношения между продавцом и покупателем посредством дизайн.
Xianyu IFTTT берет предыдущее взаимодействие между платформой и пользователями, а также отношения между покупателями и продавцами и переключается на естественные отношения и взаимодействие между пользователями Xianyu, которые меньше беспокоят пользователей и лучше влияют на активацию и откат.Мы разрабатываем Xianyu на основе этот сценарий Техническое решение Fish IFTTT.
3. Технические решения
- Канал Роль уровня канала в Xianyu IFTTT заключается в сохранении данных об отношениях пользователей и управлении ими.Слой канала определяет структуру метаданных отношений пользователей, включая типы отношений, исходные учетные записи и целевые учетные записи. Уровень канала является краеугольным камнем Xianyu IFTTT, и триггер, и действие дополнительно абстрагируют бизнес-логику, основанную на данных о взаимоотношениях пользователей.
- Курок Триггер — это настраиваемое триггерное событие в бизнесе, которое тесно связано с бизнесом. Это может быть то, что заинтересованное лицо является новым, цена просмотра ребенка снижена или розыгрыш призов в событии поиска сокровищ за 100 монет. Когда триггер срабатывает, Xianyu IFTTT вычисляет список пользователей в соответствии с типом триггера и настроенным типом связи и вызывает для обработки слой действий.
- Действие Объектом обработки слоя Action является список пользователей, рассчитанный после срабатывания триггера, который может отправлять Push, права или другую пользовательскую логику пользователям в списке. Действие само по себе является стандартизированным и подключаемым компонентом.В бизнесе вы можете использовать компонент «Действие», чтобы выполнять тесты AB в списке пользователей и быстро экспериментировать с различными стратегиями действий.
Далее поговорим о подробном техническом решении Xianyu IFTTT, Решение выглядит следующим образом:
3.1, быстрый доступ к сценам
Цель разработки быстрого доступа к сценариям состоит в том, чтобы службы не знали о доступе к Xianyu IFTTT, поскольку в первоначальном проекте доступ к сценарию предназначен для предоставления отчетов о бизнес-данных и сценариях путем добавления аспектов АОП в бизнес-логику. Однако, поскольку этот метод имеет определенное вторжение в сам бизнес, увеличивает RT ведения бизнеса и недостаточно гибок, в итоге от него отказались.
Текущее решение для быстрого доступа решает эти проблемы: оно получает доступ к массивным журналам сетевых запросов всех приложений через SLS, записывает запрошенный URL-адрес, параметры и ответы, использует SLS в качестве источника данных для задач потоковых вычислений Blink, динамически распределяет данные в соответствии с ромбом. правила проверки в реальном времени URL-адресов и параметров сетевых запросов, данные собираются в соответствии с заданным форматом и передаются на канальный уровень.
Решение для быстрого доступа к сценариям отделяет бизнес-логику от доступа к сценариям, поддерживает быстрый доступ, гибкие изменения и низкую задержку.Это высокопроизводительное решение для доступа к сценариям больших данных.
3.2. Расчет списка пользователей
Модуль для расчета списка пользователей разработан с использованием модели цепочки ответственности, потому что в разных сценариях Trigger у бизнеса разная логика расчета и фильтрации для списка пользователей. Благодаря модели цепочки ответственности основной процесс отделен от логики проверки бизнеса, и каждый бизнес поддерживает гибкую настройку логики проверки, не мешая друг другу.
3.3. PushAction
Слой действия является наиболее важной частью Xianyu IFTTT, которая будет непосредственно достигать пользователя.Логика действия будет напрямую влиять на интуитивное ощущение пользователя и уровень активности платформы. Message Push — наиболее распространенная логика в Action, необходимая для предотвращения преследования пользователей Логика PushAction выглядит следующим образом:
- Чувствительная фильтрация толпы;
- Калибровка усталости;
- Проводить опыты АБ на отправляющей толпе;
- сообщение сборки;
- Синхронизируйте журналы каждого узла действий с SLS, чтобы упростить поиск и устранение неполадок;
- Статистические данные об отправке сообщений и данные о кликах служат основой для принятия последующих бизнес-решений;
3.3.1 Усталость
Усталость — это ключ к предотвращению беспокойства пользователей. Мы разработали многоуровневую структуру для усталости, которая разделена на три уровня. Первый уровень — это усталость на уровне пользователя, который контролирует количество сообщений, получаемых пользователем за цикл; Второй уровень — это бизнес-измерение, которое контролирует количество сообщений, получаемых пользователем от определенной службы за цикл, а третий уровень — это целевой уровень, который контролирует количество сообщений, получаемых пользователем от одного и того же отправителя за цикл.
На уровне бизнес-измерений он поддерживает гибкое управление общим уровнем усталости нескольких предприятий, чтобы гарантировать, что сообщения не будут чрезмерно беспокоить пользователей.
3.4. Хранение пользовательских отношений
Данные о взаимоотношениях пользователей являются краеугольным камнем Xianyu IFTTT. Он характеризуется большим объемом хранилища, достигающим уровня терабайт. Он также имеет высокие требования к производительности для хранения и запросов. Пиковое значение TPS и QPS составляет более 10 000. После расследования мы обнаружили, что Lindorm, который был разработан группой, может удовлетворить потребности.
Lindorm — это высокопроизводительная база данных хранилища KV, разработанная Alibaba на основе Hbase, которая оптимизирует производительность и стабильность Hbase. Xianyu IFTTT использует Lindorm в качестве пользовательского реляционного хранилища данных.Тесты производительности подтвердили, что число запросов в секунду при чтении данных достигает 70 000, а TPS при хранении данных превышает 100 000. Сама Lindorm имеет отличную производительность, закладывая основу для высокой производительности Xianyu IFTTT.
4. Проверка эффекта
С момента запуска Xianyu IFTTT он поддерживал несколько бизнес-сценариев, таких как отслеживание новых продуктов, просмотр скидок на детские товары и аренда новых домов, обеспечивая двустороннее взаимодействие между покупателями и продавцами в режиме реального времени, обрабатывая сотни миллионов данных об отношениях каждый раз. в среднем в день и обрабатывает тысячи триггеров.
Xianyu IFTTT в настоящее время поддерживает сценарии взаимодействия с пользователем.В будущем мы объединим собственные бизнес-характеристики Xianyu с абстракцией IFTTT в более высоком измерении, инкапсулируем стандартный интерфейс Recipe и встроим Xianyu IFTTT в сервисную платформу, которая обеспечивает возможности оркестровки и управления процессами.
На мой взгляд, с тех пор, как IFTTT был запущен в 2010 году, он приобрел большую популярность за рубежом.Существуют специализированные компании и команды в области исследований и разработок в области Интернета и Интернета вещей.Хотя концепция IFTTT проста, она отвечает потребности пользователей через стандартизированные протоколы Спрос - заставить различные интернет-продукты обслуживать пользователей. Это наводит нас, интернет-практиков, на некоторые мысли: перед лицом новых возможностей важнее инвестировать быстро или эффективнее решать класс задач с помощью абстрактных стандартных протоколов?
Пять, аннотация существительного
- СЛС:cn.aliyun.com/product/sls
- Diamond: ПО промежуточного слоя для управления постоянной конфигурацией, разработанное Alibaba внутри компании;
- Мигание:data.aliyun.com/product/generate?…
- MetaQ: промежуточное ПО для распределенных сообщений модели очереди, разработанное Alibaba;
- Lindorm: Распределенная база данных NoSQL нового поколения, разработанная Alibaba на базе HBase, аналогичные продукты Alibaba Cloud:Aliyun.com/product/O Жалоба…
- Tair: высокопроизводительная, распределенная, масштабируемая и высоконадежная система хранения структуры Key-Value, разработанная Alibaba;
Чтобы узнать больше о передовых технологиях, подписывайтесь на публичный аккаунт «Xianyu Technology».