Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

日本開發者大會短講分享

1.272 visualizaciones

Publicado el

The 11th session of LINE TAIWAN TECHPULSE 2018

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

日本開發者大會短講分享

  1. 1. Build an App based on existing Web Service Take LINE TODAY as Example
  2. 2. TOO MANY FEATURES TOO LESS TIME
  3. 3. Hong KongTaiwanThailandIndonesia Popular news service in several countries and regions LINE TODAY SERVICE
  4. 4. Movie InfoDramasWebtoonCareer Info Becomes content portal in LINE app LINE TODAY SERVICE
  5. 5. HOW TO CREATE AN APP FOR IT?
  6. 6. Find Pain Points Fix it IterateRelease Fast PROPOSED APPROACH Step 1 Step 2 Step 3 Step 2
  7. 7. Article pageTop pageLINE loginIntroduction All WebViews except onboarding & native LINE login v1.0 - Complete Features
  8. 8. v1.0 - Architecture CUSTOMIZED WEBVIEW Introduction LINE LoginIntroduction LINE Login CUSTOMIZED WEBVIEW
  9. 9. User Profile page Video category User generated content Top page Implemented BottomNavigationBar v2.0 - Easier Navigation
  10. 10. v2.0 - Architecture CUSTOMIZED WEBVIEW Introduction LINE Login BottomNavigation CUSTOMIZED WEBVIEW
  11. 11. Video PlayerVideo ArticleVideo Category Native Video Category and Video Article page v3.0 - Video Enhancement i
  12. 12. v3.0 - Architecture BottomNavigation LINE LOGIN INTRODUCTION VIDEO ARTICLE VIDEO PLAYER ROFILECUSTOMIZED WEBVIEW VIDEO CATEGORY
  13. 13. Find Pain Points IterateRelease Fast SUMMARY Step 1 Step 2 Step 3
  14. 14. THANK YOU
  15. 15. Build Secondary Indices In Distributed Database by Exploiting Apache Kafka
  16. 16. INTRODUCE LINE TODAY AND BUZZ
  17. 17. LINE TODAY A content portal currently supporting TW/ TH/ ID/ HK BUZZ An new feature released in ID, which allows users to post any fun images or videos
  18. 18. LINE TODAY Buzz Profile page in Buzz
  19. 19. HBASE AS DATABASE Key-value pair, column-oriented database High scalability High write throughput
  20. 20. WHAT WE MEET WITH HBASE
  21. 21. INDEX IS ONLY BASED ON ROWKEYS Lexicographically sorted by rowKey NO TRANSACTION Inter-row operations are not atomic
  22. 22. WHY WE NEED SECONDARY INDICESIndex is only based on rowKey
  23. 23. Get post(s) by ID(s) rowKey (postID) Column Family title author … … 0 userA 1 userB 2 userA … Buzz post page
  24. 24. (Author - Full table scan) rowKey (postID) Column Family title author … … 0 userA 1 userB 2 userA … User profile page List posts that the user posted before
  25. 25. Post table rowKey (postID) Column Family title author … … 0 userA 1 userB 2 userA … rowKey (user_postID) Column Family … userA_0 userA_2 userB_1 … Secondary Table ROWKEY IS INDEXED AND SORTED rowKey with prefix userA
  26. 26. WHY WE USE KAFKA No transaction
  27. 27. BUILD SECONDARY INDICES BY KAFKA rowKey (postID) Column Family title author … 0 userA 1 userB 2 userA rowKey (user_postID) Column Family … userA_0 userA_2 userB_1 2 1 0 consumer.poll() Update secondary table Apache Kafka User A creates a post (id=2)
  28. 28. ● Call commit only when all messages are processed successfully ● Duplicate messages might be possible CONTROL CONSUMER’S OFFSET COMMIT
  29. 29. THANK YOU
  30. 30. Rapid Development of Wow Beacon LBS with LINE
  31. 31. LINE TODAY TAIWAN 18,000,000 MAU
  32. 32. WHAT LINE BEACON CAN DO? WITH TAIPEI METRO’S 2,000,000 DAILY TRAFFIC
  33. 33. Major Stations In Blue-Line 200+Beacons at platform & exits 35 TAIPEI METRO 100%
  34. 34. APPLICATIONS Taipei Metro x LINE TODAY
  35. 35. ENRICH YOUR 50 MINS COMMUTE TIME NEWS DIGEST
  36. 36. GIVE YOU WHAT’S NEAR YOU COUPON
  37. 37. MAKE THE CITY YOUR PLAYGROUND PUZZLE GAME
  38. 38. MAKE YOUR TRANSFER SEAMLESS BUS INFO
  39. 39. IMPLEMENTATION Taipei Metro x LINE TODAY
  40. 40. ARCHITECTURE LINE Platform BOT server Web server API server Sticker Giftshop TODAY ServerUser BeaconEvent (enter/stay/leave) Postback/ Text REST API BOT Gift Coupon • News (ImageMap) Coupon • Puzzle(Carousel) Bus (Flex) CMSDB • ProcessBeacon • UpdateAgreement • ClaimCoupon • PuzzleStatus • BeaconTriggerInfo Publish Content Generation & Management Misson Sticker Beacon OA LIFF/C WA
  41. 41. HOW TO MANAGE 200+ BEACONS
  42. 42. BEACON MANAGEMENT Beacon HWID → Beacon Group → Action Type HIERARCHICAL MANAGEMENT Platform Group1 Exit B Group2 Group3 Group4 Coupons B B B B BBBB Coupon TypeNews Type
  43. 43. 2,028,963 HOW TO HANDLE LARGE AMOUNT OF BEACON EVENTS?
  44. 44. Zookeeper Key = User ID + Action Type CONCURRENT BEACON EVENTS HANDLING EVENT HANDLING Server B B B B
  45. 45. Independent data entry in DB / cache • Agreement status • Last action info of each action type • Last triggered beacon group EVENT PROCESSING SPEEDUP Y DB / cache Should send coupon/puzzle Y N Y Y Should resend user consent Send user consent Send available coupon/puzzle ZooKeeper Lock Acquire User Agreed {hwid, userid} Beacon EVENT HANDLING
  46. 46. THANK YOU

×