Behind the news hits double - free fish non-invasive system can be extended IFTTT

Author: Busy fish technology - Jian Xin

First, faced with the problem

In the busy fish ecology where there are multiple relationships between users. Most of relationship is triggered by the buyer, contacted the seller, such as buyers have contact through the search, collection, chat and other activities with the seller; the other part is the relationship between the platform and the user. After analyzing the relationship of these two problems we found these relationships:

  • Hierarchical relationship of user-generated rich enough; maintenance of the existing system only part of the customer relationship, including favorites, such as thumbs up, user-level relationship is not enough rich.
  • Is a one-way relationship between users and not enough real time; the existing play, buyers can produce a variety of behaviors by contact with the seller, but the seller can not take the initiative relationship and interaction with buyers happen; and the relationship between computing platforms are offline the lack of attractiveness to users.

The above-mentioned abstract scene after induction through are the same paradigm: when a certain condition is met, it will trigger the corresponding action. This paradigm is the basic idea IFTTT, and free fish IFTTT is the solution to these problems.

Two, IFTTT concept

Innovative Internet service IFTTT is a concept known as "network automation artifact," which is very practical and very simple concept. IFTTT stands for * If this then that *, meaning that if "this" condition is satisfied, the trigger execution "that" action. IFTTT consists of three parts, respectively, Trigger, Action and Recipe.

undefined

IFTTT can be seen that the concept itself is not complicated, it's true magic lies, "composed by the simple complicated", that is, by a large number of simple IFTTT process of convergence to each other across the Internet, across multiple platforms, across multiple device state machine.

2.1, free fish IFTTT

Busy IFTTT fish is based on the generation after the idle fish business scenarios IFTTT principle of combination, provide IFTTT standard protocol encapsulation, for non-invasive operations scalable service orchestration system.

undefined
Two characteristics corresponding free fish IFTTT above two problems, namely:

  • Users perceive multidimensional relationship

It refers to a multi-dimensional coverage, busy fish IFTTT through more dimensions of the excavation, abstract and maintain a richer user relationship. Based on user relationship data, we can produce portraits users, and through more efficient way to touch up the user.

  • Two-way real-time user interaction

Busy fish IFTTT underlying efficient storage and processing capabilities for large user relationship data to support the upper layer service users real-time processing relationship; IFTTT busy fish buyers to support not only the relationship between the seller and the seller to the buyer naturally support relationship through design.

Busy fish IFTTT the platform before interaction with the user, the buyer to contact the seller, said the handover of the natural relationship between interactive user busy fish, and less activation of the user harassment pulled back better, we based this busy scene design fish IFTTT technical solutions.

Third, the technical program

undefined
First, in accordance with the specifications IFTTT business modeling, divided Channel, and the Trigger Action layer, wherein the layer is an underlying data Channel, the composition criteria and Trigger Action Recipe after association.

  • Channel Channel layer idle fish IFTTT role is to store and manage the user relationship data, Channel metadata structure layer defines the relationship between the user, including the type of relationship, the source account and the destination account. Channel layer is the cornerstone of free fish IFTTT, Trigger and Action are based on user relationship data further abstract business logic.
  • Trigger Trigger is a custom trigger events on the business, and business is closely related, may be new to the people concerned, price or browse baby is to participate in one hundred coins Indiana lottery and other activities. When the Trigger, free fish IFTTT user list will be calculated based on the relationship type Trigger type and configuration, and call the Action layer processing.
  • Action Action layer processing target user is calculated after the Trigger list, you can send to the list in the user Push, hair equity or other custom logic. Action itself is standardized, pluggable components, you can use Action component to the list of users do AB testing, rapid test different strategies Action on business.

Next we talk about free fish IFTTT detailed technical program, which is as follows:

undefined
Overall configuration diagram of the technical solution according to business modeling refinement complement-dependent technology components. The whole process will not dwell on, focus on the process module for a detailed description.

3.1, the scene quickly access

Quick access design scene purpose is to allow businesses to access free fish IFTTT no perception, because in the very beginning of the design, the scene is ready access by increasing the AOP aspects in the business logic, the business data and reporting scenarios. But because this way there is a certain intrusion into the business itself, but also increase the RT business execution is not flexible enough, eventually rejected.

Now the scene quickly access scheme to solve these problems, the access request log by SLS massive network of all applications, recording the URL, parameters, and responses to the requests; Blink as the SLS data stream source computing tasks; diamond made dynamically according to the following real-time filtering rules and network parameters request URL, the data in the specified format to report Channel layer after assembly.

Scene quick access program will access the business logic and decoupling scenarios, support fast access, low latency and flexible to change, is the scene for large data access, high-performance solutions.

3.2, calculated user list

Calculation module using the user list chain of responsibility design pattern, since the different Trigger scenario, the business logic to calculate and filter the user list is different. Through the chain of responsibility pattern, the main processes and business logic decoupling screening, and support of business the flexibility to customize filtering logic, without disturbing each other.

3.3, PushAction

Action layer is a free fish IFTTT most important part, will direct the user to achieve the contact, Action logic will directly affect the user experience and intuitive active platform rate. Action Push message is the most common logic, but also to prevent the user from harassment, PushAction logic is as follows:

  • Filter sensitive populations;
  • Fatigue verification;
  • Send populations of AB experiments;
  • Message assembly;
  • The Action nodes logs synchronized to SLS, easy retrieval and troubleshooting;
  • Statistical data message and click data provide the basis for subsequent business decisions;

3.3.1, fatigue

Fatigue is the key to prevent the user from harassment, we stratified designed for fatigue, is divided into three layers, the first layer is a fatigue level of the user, the user receives a control message in a cycle number; second layer business dimension, the user receives a control message to a number of operations in one cycle; third level is the target level, the user receives the same to control the number of messages a sender in one cycle.

In the business dimension level, supports flexible control multiple business joint fatigue, ensure that the user will not be excessive harassment messages.

undefined

3.4, the user relationship storage

User data is the cornerstone of the relationship between leisure IFTTT of fish, which is characterized by large storage of the order, reaching the level of TB; and high storage and query performance requirements, the peak TPS and QPS are a million or more. After investigation, we found that Lindorm developed in-house to meet the needs of the group.

Lindorm internal Ali is based on self-developed high-performance KV Hbase store database, the performance and stability of Hbase have some optimization. Busy fish IFTTT Lindorm employed as user relationship data storage, data read by the verify performance test QPS 70,000, TPS data is stored in more than 100,000. Lindorm excellent performance itself, to lay the foundation for the busy fish IFTTT high performance.

Fourth, the effect of verification

Free fish IFTTT Since the launch, already support the new focus on, baby browse the new prices and rental community and other business scenarios, real-time two-way interactive capabilities to provide buyers and sellers, the average processing relational data every day hundreds of millions of pieces, processing Trigger reached thousands million, or processing Action reached one hundred million level, the more messages offline push to improve click-through rate more than doubled.

Busy fish IFTTT is currently supported user interaction scenario, we will combine leisure fish follow its own business characteristics, IFTTT were higher dimensional abstraction, encapsulation Recipe standard interfaces, will provide free fish IFTTT playing process orchestration, service platform management capabilities.

In my opinion, IFTTT since launch in 2010, in foreign countries have great heat, and in the field of the Internet of Things and the company has a dedicated team of R & D, IFTTT concept of simple but strong to meet the user through standardized protocols demand - make a variety of Internet products for customer service. In fact, this also gives us some thoughts Internet practitioners: in the face of new opportunities, what is more important is quickly put into abstract standard protocol to solve a class of problems is more effective?

Fifth, noun comment

  • SLS:cn.aliyun.com/product/sls
  • Diamond: Ali persistent configuration management middleware developed in-house;
  • Blink:data.aliyun.com/product/sc?…
  • MetaQ: distributed messaging middleware, Ali queuing model developed in-house;
  • Lindorm: Ali based on internal research and development of a new generation of HBase distributed NoSQL database, Ali cloud similar products: www.aliyun.com/product/ots...
  • Tair: Ali developed in-house high-performance, distributed, scalable, highly reliable storage system architecture Key-Value;

Guess you like

Origin juejin.im/post/5d03010e6fb9a07ef1617eb2