Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Realtime targeting platform use cases in LINE GAME PLATFORM

Realtime targeting platform use cases in LINE GAME PLATFORM

LINE DevDay 2020

November 26, 2020
Tweet

More Decks by LINE DevDay 2020

Other Decks in Technology

Transcript

  1. Motivation LOG vs EVENT › Not structured › Not important

    › Audit LOG › Structured › Important › Audit, Live update, Analysis EVENT 7
  2. Motivation Why event processing system? › Filtering + Validation ›

    Windowing + Aggregation processing › Latency
  3. Processor Storage D/E Service Ingestion Log processing architecture Targeting Graph

    Query Platform Service Spark Chat Auth Promotion Kafka ElasticSearch Hive Impala HBase HDFS Spring Batch Recommen dation 10
  4. Platform Service D/E Service Recommen dation Storage Ingestion Query Processor

    Log processing architecture Targeting Spark Chat Auth Promotion Kafka ElasticSearch Hive Impala HBase HDFS Spring Batch Targeting Graph 11
  5. Ingestion Platform Service Promotion Auth Chat D/E Service Recommen dation

    Storage Query Processor Log processing architecture Targeting Spark Kafka ElasticSearch Hive Impala HBase HDFS Spring Batch Targeting Graph Kafka 12
  6. Storage HDFS HBase ElasticSearch Platform Service Promotion Auth Chat D/E

    Service Recommen dation Ingestion Query Processor Log processing architecture Targeting Spark Kafka Hive Impala Spring Batch Targeting Graph 13
  7. Query Impala Hive Platform Service Promotion Auth Chat D/E Service

    Recommen dation Storage Ingestion Processor Log processing architecture Targeting Spark Kafka ElasticSearch HBase HDFS Spring Batch Targeting Graph 14
  8. Processor Spring Batch Spark Platform Service Promotion Auth Chat D/E

    Service Recommen dation Storage Ingestion Query Log processing architecture Targeting Kafka ElasticSearch Hive Impala HBase HDFS Targeting Graph 15
  9. Platform Service Promotio n Auth Chat Storage Ingestion Query Processor

    Log processing architecture Spark Kafka ElasticSearch Hive Impala HBase HDFS Spring Batch D/E Service Targeting Graph Recommen dation 16
  10. Source Sink Event Processing System Logical flow Event Collector Event

    Manager Service Event Event Log Session Event Channel 20
  11. Session Manager Event Collector Sink Event Processing System Overall Event

    Manager Platform Service Game HBase Redis HBase Game Service Redis Stream Kafka Redis Stream 21
  12. Event Processing System Event Manager Event Event Manager MetaStore Storage

    HDFS HBase ES Service Targeting Channels Game A Login User A 31
  13. Source Targeting architecture Targeting service Event Manager ES History HBase

    Profile Realtime targeting Batch processing Redis Service Targeting users 33
  14. Use Case Overall Admin Targeting Platform Push Platform ADMIN WEB

    Message Queue LINE API Server Sender Server Target Users Get Audience ID Deeplink App Tracking Server Send Reward 35
  15. Dynamic dimension pre-processing Game has different dimensions Game A Game

    B LEVEL STAGE User1 1 300 LVL STAGE User1 30 22 LEVEL STAGE LVL Game A User 1 300 NULL Game B User NULL 22 30 LEVEL == LVL 39
  16. Dynamic dimension pre-processing Dimensions changes frequently Game A Game C

    Game B LEVEL STAGE User1 1 300 LP Item1 User1 1 22 LVL STAGE User1 30 22 LEVEL STAGE LVL Game A User 1 300 NULL Game B User NULL 22 30 New Game!! 40
  17. Dynamic dimension pre-processing Using remote configuration + SpEL Kafka HBase

    LEVEL Item1 STAGE Game A User 1 NULL 300 Game B User 30 NULL 22 Profile Updater 42
  18. Redis stream adoption Case4: Purchase history + Daily login 49

    - Send reward - Purchase history of user - Login history of user Biz
  19. Redis stream adoption Problems 1. Business requirements can be always

    changed. 3. Changing the table structure for one game needs to much cost. 2. It’s hard to maintain bucketing or window. 50
  20. Redis stream adoption User event Event Event Manager MetaStore User

    Scope 52 Field1 Field2 Field3 Event1 1 1 300 Event2 30 1 22 … … … …
  21. Redis stream adoption User event - TTL settings Event Event

    Manager MetaStore User Scope 53 Field1 Field2 Field3 Event1 1 1 300 Event2 30 1 22 … … … … › EXPIREAT key timestamp
  22. Redis stream adoption User event - Aggregation update Event Manager

    User Scope 54 Field1 Field2 Field3 Event1 1 1 300 Event2 30 1 22 … … … … Profile aggrField aggrFieldExpireAt Game A User 31 timestamp value
  23. Wrap up › Motivation › Log processing platform › Realtime

    targeting platform › Use case › Technical issues 55