Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Design a scalable social network: Problems and Solutions

597 views

Published on

Some interesting info when design a social network

Published in: Internet
  • DOWNLOAD THE BOOK INTO AVAILABLE FORMAT (New Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THE can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THE is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBOOK .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookBOOK, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, EBOOK, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THE Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THE the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THE Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THE BOOK INTO AVAILABLE FORMAT (New Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download doc Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THE can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THE is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBOOK .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookBOOK, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, EBOOK, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THE Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THE the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THE Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Design a scalable social network: Problems and Solutions

  1. 1. Design a scalable social network Problems and solutions Châu Nguyễn Nhật Thanh October 27, 2016 Head of Game Backend and Cloud - VNG Corp.
  2. 2. Table of contents 1. Giới thiệu 2. Các module chính của MXH 3. Trang chủ 4. FriendList 5. Feed 6. Bonus 1
  3. 3. Giới thiệu
  4. 4. Về bản thân Well-known as a: • Technical Lead of ZingMe platform • Technical Lead of Cyber Station Manager • Co-Founder of VNG IoT LabGuest Speaker at: • PHPDay 2010, 2011, 2012 • Grokking Engineer • Vietnam Web Submit 2
  5. 5. Các module chính của MXH
  6. 6. Trang chủ Figure 1: Trang chủ facebook 3
  7. 7. Danh sách bạn bè Figure 2: Facebook friend list 4
  8. 8. Photo Figure 3: Facebook photo 5
  9. 9. Trang chủ
  10. 10. Thách thức Cách làm thông thường: • Web server kết nối đến DB server • Mỗi chức năng thể hiện bằng 1 hoặc nhiều table Với cách làm này: • Latency cao do phải query vào nhiều bảng khác nhau • Quá phức tạp khi thêm mới, nâng cấp tính năng 6
  11. 11. Giải pháp Dùng cache để giảm latency: • Kết quả trả về từ DB sẽ được lưu vào cache • Lần tiếp theo sẽ truy cập vào cache Figure 4: Numbers Everyone should know,Jeff Dean, Google 7
  12. 12. Giải pháp Để giảm độ phức tạp và dễ dàng nâng cấp • Tách thành những nhóm nghiệp vụ nhỏ (service) • Mỗi nhóm nghiệp vụ là 1 hệ thống độc lâp có interface vào ra • Các nhóm nghiệp vụ tương tác nhau qua interface này Figure 5: divide and conquer 8
  13. 13. Giải pháp Figure 6: SNS components 9
  14. 14. FriendList
  15. 15. Thách thức • Mỗi user có danh sách n bạn (fb=unlimited,zme=500,5K) • Mỗi user có danh sách những người follow mình • Thách thức 1. Kiểm tra xem 1 user nào đó có phải là bạn hay không? 2. Kiểm tra 1 user nào đó có đang follow ai không ? 3. Hôm nay là sinh nhật ai trong danh sách bạn mình ? 10
  16. 16. Giải pháp 1. Kiểm tra xem 1 user nào đó có phải là bạn hay không? • Mỗi user có danh sách bạn là 1 tập hợp • Thao tác tìm 1 user có phải là bạn không tương đương với việc kiểm tra 1 phần tử có thuộc tập hợp đó không • Redis cmd: SADD userId friendId, SISMEMBER userId friendId • Tìm bạn chung SINTER userIdA, userIdB, userIdC 11
  17. 17. Giải pháp 2. Kiểm tra 1 user nào đó có đang follow ai không ? • Mỗi user có danh sách bạn là 1 bitmap (chuỗi bit 2 mũ 32 phần tử) • Thao tác tìm 1 user có phải là bạn không tương đương với việc kiểm tra bit tại vị trí thứ userId có bật lên không • Redis cmd: SETBIT userId friendId 1, GETBIT userId friendId • Có vấn đề gì không??? BitMagic 12
  18. 18. Giải pháp Figure 7: Follower list 13
  19. 19. Giải pháp 3. Hôm nay là sinh nhật ai trong danh sách bạn mình ? • Mỗi ngày thứ n trong năm là 1 bitmap với vị trí thứ i trong bitmap là userId thứ i có ngày sinh là ngày thứ n trong năm • Thao tác tìm trong danh sách bạn bè có ngày sinh là ngày thứ n trong năm bằng cách lấy danh sách bạn dạng bitmap and với bitmap ngày thứ n ở trên và lấy ra tập các vị trí bằng 1 14
  20. 20. Giải pháp Figure 8: Sinh nhật bạn bè 15
  21. 21. Feed
  22. 22. Thách thức • Mỗi user có danh sách n bạn (fb=unlimited,zme=500,5K) • Khi user thực hiện 1 hành động thì bạn bè của người đó sẽ thấy hoạt động đó • Thách thức 1. Kiến trúc như thế nào để đảm bảo latency? 2. Lưu trữ như thế nào để tiết kiệm storage mà vẫn đảm bảo tốc độ truy cập? 16
  23. 23. Giải pháp • Feed sẽ được lưu trữ thành feedItem và feedIdList • Mỗi user có 1 danh sách lưu trữ các feedId tương ứng với các action (photo,blog...) • Có 2 phương pháp PUSH và PULL Figure 9: Chiến lược hiện thực hệ thống news feed 17
  24. 24. Giải pháp Figure 10: http://www.slideshare.net/mongodb/socialite-the- open-source-status-feed 18
  25. 25. Giải pháp Figure 11: http://www.slideshare.net/mongodb/socialite-the- open-source-status-feed 19
  26. 26. Bonus
  27. 27. http://swagger.io/swagger-editor/ Figure 12: http://www.slideshare.net/pvullioud/swagger- 45508232?smtNoRedir=1 20
  28. 28. Hỏi đáp 21
  29. 29. The end 22

×