Pinterest: How to support 70 million users with the original web architecture

Source: Internet
Author: User
Keywords Pinterest Frame Branch

Intermediary transaction http://www.aliyun.com/zixun/aggregation/6858.html ">seo diagnose Taobao guest cloud host technology Hall

  

Two years of rapid development but did not waver in the original structure of Pinterest design.

Image sharing community Pinterest since the line, the appearance of the site has made a lot of changes, but has been followed by the original network code, in the code level and not too much change. Pinterest's engineer Jon Jenkins recently disclosed that Pinterest still operates on the basis of the original code.

"Many network companies in the scale of the process, will be the site structure to do one or more adjustments." Although we have updated the stack architecture to fit the size of the company, we have not made any major fundamental adjustments or followed the original website program. ”

Jenkins refers to the "program base" refers to the Pinterest running procedures. With the development of the website, engineers should not only update the appearance of the site, but also use the new technology to improve and fix the foundation of the program to ensure its efficient operation. Tumblr is such a code example, although a few times too thorough updates even affect the normal use of users and let everyone quite criticism. LinkedIn's engineers have also spent two months rewriting the site's source code--a thorough restructuring that, in the view of LinkedIn's engineers, is essential to maintaining the size of the site. "The rapid development of the Web platform and the desire to release more innovative products require us to evolve from a Web site structure that is a complex feature branch to the development and deployment of software to a continuous deployment structure," said a LinkedIn spokesman.

But Pinterest is determined not to make such a site architecture improvements, even in the fast-growing user group curve in front of "indifferent." Jenkins says Pinterest's basic web site structure includes python Web servers, MySQL databases, open source data structure Services Redis and memcache caching systems. Pinterest's team used a conservative approach to rewriting a particular part of the database, "in other words, we're using ' renovate ' instead of ' replace '."

From the beginning of the Pinterest on the Web site structure of the three engineers--yash Nelapati,marty Weiner and Ryan Probasco still work in the original position, the Pinterest source code is also clear to the chest.

According to Weiner, Pinterest's team used such a conservative web site architecture not intentionally, but as a practical choice. Pinterest from 2011 to enter the high-speed development, there is no time for large-scale code rewriting. Once you find the problem, you have to fix it within 12-24 hours, and make changes to some of the previously discovered code problems as quickly as possible, a sewing way that does not cause much change to the basic code framework.

The Pinterest system architecture is becoming more and more difficult to expand when it comes to coping with the frenzied growth of the site, as it has been tinkering with the limitations of various technologies. When we realize the patchwork of technologies that make our base code unreliable, there are two options: replacing existing base code with other technical solutions or rewriting and consolidating existing ones.

Weiner said: "Comprehensive considerations, we chose the Mysql,solr,memcache,redis, gave up the Cassandra,mongo, and so on, the reason for this choice is based on software features: Mature simple, have good support, superior performance, open source and the frequency of failure is low. Our new starting point has been established on this option, and subsequent developments will be based on these. ”

Pinterest presented to each user is fluent and beautiful web design, and for network architecture programmers, Pinterest code editing is also a treasure trove of learning.

Weiner called himself "the most desirable or the most original Note.txt document, known as the Pinterest Apollo 13th Lunar lander (the most original proposal), which records how to build the server and solve the problem." ”

(via Readwhite/fast carp)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.