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.

運用 Cloud Pub/Sub 實作 PIXNET 跨產品動態整合 #modernWeb2018

1.047 visualizaciones

Publicado el

透過 Cloud Pub/Sub 實作 Timeline 跨產品的動態整合系統
高清版 https://goo.gl/FHhJ9P

Publicado en: Software
  • Sé el primero en comentar

運用 Cloud Pub/Sub 實作 PIXNET 跨產品動態整合 #modernWeb2018

  1. 1. PIXNET 邦 運用 Cloud Pub/Sub 實作 PIXNET 跨產品動態整合 PIXNET - Win Yu #kylinyu.win↵
  2. 2. PIXNET 邦 高級平台軟體工程師 at PIXNET Hello! 余晟麟 Win Yu kylinwin kylinyu.win
  3. 3. PIXNET 邦 學生 會眾 講者
  4. 4. PIXNET 邦 Before the Story 高彈性 Cloud Pub/Sub 場景介紹 動態設計 架構總覽 回顧與結語
  5. 5. PIXNET 邦 場景介紹
  6. 6. PIXNET 邦 News Feeds in Timeline
  7. 7. PIXNET 邦 需求這樣開始
  8. 8. PIXNET 邦 部落格 PIXstyleMe 邦邦 PIXgoods PIXNET 產品
  9. 9. PIXNET 邦 部落格 美妝、潮流 興趣集結 購物、訂位 PIXNET 產品
  10. 10. PIXNET 邦 使用者行為 User Behavior 設定 登入 留言 購物 關注 追蹤 分享 給分發文 https://clevertap.com/blog/https://clevertap.com/blog/listen-and-learn-why-its-important-to-understand-mobile-user-behavior//https://clevertap.com/blog/listen-and-learn-why-its-important-to-understand-mobile-user-bavior/https://clevertap.com/blog/listen-and-learn-wh y-its-important-to-understand-mobile-user-behavior/
  11. 11. PIXNET 邦 目的 分析使用者在不同產品的使用習慣 提供 News Feed Timeline 增加使用者的互動與回訪
  12. 12. PIXNET 邦 Main Idea
  13. 13. PIXNET 邦 文章前台 管理後台 PIXNET Blog
  14. 14. PIXNET 邦 文章前台 管理後台 PIXNET Blog
  15. 15. PIXNET 邦 文章前台 管理後台 PIXNET Blog PIXstyleme ?
  16. 16. PIXNET 邦http://eiki.hatenablog.jp/entry/meteo_fall
  17. 17. PIXNET 邦 文章前台 管理後台 PIXNET Blog PIXstyleme
  18. 18. PIXNET 邦 文章前台 管理後台 PIXNET Blog PIXstylemePIXgoods ?
  19. 19. PIXNET 邦http://eiki.hatenablog.jp/entry/meteo_fall
  20. 20. PIXNET 邦 文章前台 管理後台 PIXNET Blog PIXstylemePIXgoods
  21. 21. PIXNET 邦
  22. 22. PIXNET 邦 設定完就可以產生動態匯集頁 就像 Hub 一樣,線插就可擴充使用
  23. 23. PIXNET 邦 諸神黃昏之際,只剩我佛淡定 我佛系工程師
  24. 24. PIXNET 邦 你要加幾個產品,我都加給你 我覺得可以!
  25. 25. PIXNET 邦 特色 / 限制
  26. 26. PIXNET 邦 不用處理多媒體 允許不同平台發出跨產品通用性設計 Timeline 時序性
  27. 27. PIXNET 邦 不用處理多媒體 允許不同平台發出跨產品通用性設計 Timeline 時序性 我們通常只看最新的動態 同一個產品又允許多方輸入 e.g. 前台 / 後台 Feed 類型是使用者的行為 而非社群貼文
  28. 28. PIXNET 邦 動態設計
  29. 29. PIXNET 邦 動態
  30. 30. PIXNET 邦 我們的 Feed 是 User Behavior? 使用者的 特定行為 所產生的動態 > Different from Facebook, Twitter. 動態要存什麼資訊?
  31. 31. PIXNET 邦 人事時地物 其實動態資料的組成就是 英文句型文法 ● Subject: 主詞 ● Verb: 動詞 ● Object: 受詞 ● OC: 補語 ● Latitude, Longitude: 地理座標 ● timestamp
  32. 32. PIXNET 邦 通用性 跨產品
  33. 33. PIXNET 邦 # Verb 1 新增 2 分享 3 發佈 4 給分 5 關注 6 …. 共用規範表 (Standards) # Noun 1 會員 2 討論 3 連結 4 留言 5 文章 6 …. Subject, Object
  34. 34. PIXNET 邦 # subject verb object is_show 1 1 1 2 1 2 1 2 3 1 3 1 3 5 1 4 1 5 1 0 5 2 1 5 1 6 … … … … 自定義 產品 行為規範 說明 Sb 新增 了 討論 Sb 分享 了 連結 Sb 發佈 了 文章 Sb 關注 Sb 討論 新增 了 文章 …
  35. 35. PIXNET 邦 時序性 Timeline
  36. 36. PIXNET 邦 Timeline 其實就是 Stack First In Last Out Timeline 永遠都從最新的開始瀏覽 沒有人動態倒過來看的 我們也沒有要提供這種功能 XD 用 PK 就可以實踐
  37. 37. PIXNET 邦 訂閱(追蹤)產生動態
  38. 38. PIXNET 邦 8 Latest Oldest1 2 7 6 5 4 3 動態的產生 動態池
  39. 39. PIXNET 邦 每個人都有自己的動態池 Feed Pool (Stack)
  40. 40. PIXNET 邦 8 7 6 5 4 3 8 req 1 req 2 1 2 7 6 5 4 3 取得 Timeline 動態
  41. 41. PIXNET 邦 資料儲存 Shared By Products in MySQL feeds feedpools subscriptionsstandards ● 該服務有哪些紀錄規則 ● 管理訂閱名單 ● 動態池● 動態個體
  42. 42. PIXNET 邦 高彈性 Cloud Pub/Sub
  43. 43. PIXNET 邦 還記得我嗎?
  44. 44. PIXNET 邦 Cloud Pub/Sub?
  45. 45. PIXNET 邦 Cloud Pub/Sub is a fully-managed real-time messaging service that allows you to send and receive messages between independent applications. 官網說明
  46. 46. PIXNET 邦 Cloud Pub/Sub 架構總覽 Many to Many
  47. 47. PIXNET 邦 以 部落格 產品為例 主題 管理 後台 文章頁 前台 部落格動態 Timeline 部落格行為 Publisher Publisher Topic Subscription Subscriber Subscriber
  48. 48. PIXNET 邦 ● 多對多特性 ○ 多組 Publisher 多組 Subscriber ● Queue 的優勢 ○ 高併發、應用架構的緩衝 ● 微服務特性 ○ 鬆耦合 (Loose coupling) ● 接收方式 ○ Push/Pull 高彈性
  49. 49. PIXNET 邦 其他的方案呢? AWS SQS RabbitMQ Redis - 沒有支援多對多 - 常見作法要搭配 SNS - 本身沒 直接 支援 push - 但可以透過 Lambda 實現 - 量大寫入時有效能問題 - Memory-Based Node 壞 了資料不見 - 方案純熟 - 實踐多種應用 Pattern - 支援 Push/Pull - 自行管理 或 CloudAMQP
  50. 50. PIXNET 邦 選 Queue 我要注意 ● 場景應用模式 ● 訊息順序性 (FIFO) ● 效能考量 ● 管理成本 ● 有無支援 Transaction ● 能否駕馭
  51. 51. PIXNET 邦 ● 場景應用模式 ● 有沒有保證順序性 ● 效能考量 ● 管理成本 ● 能否駕馭 ● 有無支援 Transaction Solution = $ + Boss
  52. 52. PIXNET 邦 http://queues.io/ 33 projects.
  53. 53. PIXNET 邦 架構總覽
  54. 54. PIXNET 邦 架構關係 - Read Web Server Database
  55. 55. PIXNET 邦 架構關係 - Write Web Server Database Job Queue Data analysis Cloud Pub/Sub
  56. 56. PIXNET 邦 架構總覽 Web Server Database Job Queue Data analysis Cloud Pub/Sub
  57. 57. PIXNET 邦 高容錯 Server 倒了,訊息還在 pubsub 內 Database 倒了, 訊息還在 Job Queue 中Cloud Pub/Sub Web Server Database Job Queue
  58. 58. PIXNET 邦 2 月 3 月 4 月 5 月 6 月 prewarm 資料預儲 資料
  59. 59. PIXNET 邦 2 月 3 月 4 月 5 月 6 月 Timeline 上線,首頁改版 13 million feeds 40 million feeds
  60. 60. PIXNET 邦 回顧與結語
  61. 61. PIXNET 邦 選擇對的方案之外,靈活的軟體設計也是支撐架構的關鍵
  62. 62. PIXNET 邦 彈性的架構與設計,才能因應 (敏捷的) 需求
  63. 63. PIXNET 邦 回顧利弊並持續演進
  64. 64. PIXNET 邦 Thank you! Any questions? kylinwin kylinyu.win
  65. 65. PIXNET 邦 Vector Icons by Matthew Skiles Presentation template designed by Slidesmash Photographs by unsplash.com and pexels.com CREDITS Special thanks to all people who made and share these awesome resources for free:

×