[NineChap System Design] Class 3.2: Web Service - Shuatiblog.com



[NineChap System Design] Class 3.2: Web Service - Shuatiblog.com

Fix step 2, Network error

Problem is: MP3 url invalid. It actually comes from a failed CDN sever.

Solution: fix the server.

Fix step 3, CDN can't find MP3

Problem associated with Anti-Leech.

a leech) is one who benefits, usually deliberately, from others' information or effort but does not offer anything in return.

Example: Wi-Fi leeches, Direct linking (or hot-linking) and In most P2P-networks, leeching is whose who download too much.

Anti-Leech specializes in protecting file downloads and stopping bandwidth leeching.

See that some P2P and leeching software will steal your url links, so the MP3 url expiration time is 5 minutes.

So when CDN server's clock and web server's clock are not synchronized well, MP3 url can expire.

Solution: every 10 minutes sync CDN clock with web server clock.

Fix step 4, Timeout error

Some MP3 are relatively large. Thus timeout.

MP3 performs better at higher bps, and aac(Advanced Audio Coding) works better at lower bps.

Solution:

  1. compress MP3 to 48bps, or use aac format. So, play lower-rate music first, then switch automatically.

  2. pre-load a music while previous is playing.

  3. optimize CDN

CDN content delivery network is a large distributed system of servers deployed in multiple data centers across the Internet.

The goal of a CDN is to serve content to end-users with high availability and high performance.


Read full article from [NineChap System Design] Class 3.2: Web Service - Shuatiblog.com


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts