The evolution of large-scale Internet architecture

1. 10 years of Taobao technology

1.1 Status of Taobao

High concurrency has become a huge challenge faced by current Internet companies! For example, in 2015, the "Double Eleven" global carnival officially came to an end, and the final transaction volume of Tmall also reached a record 91.217 billion yuan! There are 232 countries and regions participating in the transaction. The peak number of transactions per second processed by Alipay on Double Eleven is 85,900, and the peak number of online users is 45 million.

Taobao's core technology (top domestic and international, this is still the data in 2011)

l Has the largest distributed Hadoop cluster in China (cloud ladder, about 2000 nodes, 24000 core CPU, 48000GB memory, 40PB storage capacity)

l 80+ CDN nodes are distributed nationwide, which can automatically find the nearest node to provide services, and support traffic exceeding 800Gbps

l No less than Baidu's search engine, searching for billions of products, the world's largest e-commerce platform

l Top load balancing system, top distributed system, top Internet thinking, diverse functions and extremely stable operation

l Rich ecological industries and advanced data mining technology

l ... many, many

1.2 Evolution of Taobao Technology, from "Ten Years of Taobao Technology"

l On April 7, 2003, Mr. Ma secretly called ten Alibaba employees to a hidden rough house in Hangzhou and asked them to create a C2C website within a month or so. The result, of course, is to buy directly, a website based on the LAMP architecture, formerly known as PHPAuction, an auction website developed by Laomei. Of course it has to be modified before it can be used.

l At the end of 2003, Taobao had 230,000 registered users, 310,000 PV/day, and a half-year turnover of 33.71 million

l Obviously, MySQL cannot support such a large number of visits, and the database bottleneck has appeared. Fortunately, Ali's DBA team is strong enough, and they use Oracle instead of MySQL. At that time, Oracle already had a strong concurrent access design-connection pool, and the cost of fetching connections from the connection pool was much less than establishing connections individually. However, PHP did not officially support the language connection pool feature at that time, so Duolong used Google (not Baidu) to search for an open source SQL Relay, so the bottleneck in database software was temporarily solved.

l Followed by the hardware performance bottleneck, Alibaba bought EMC SAN storage equipment, coupled with Oracle's high-performance RAC, the hardware capacity is temporarily no problem.

l Because the problem of SQL Relay is too serious, in 2004, Taobao finally made an inter-generational decision - rewriting the website using Java.

l Taobao invited senior engineers from Sun to help with the Java architecture. So how did they modify the programming language without changing the use of the website? Modular replacement, I wrote the A module today, opened a new domain name, and pointed the connection to this module, while other modules remained unchanged, and waited until all modules When complete, the original domain name is abandoned. Sun's insistence on using EJB as the control layer, coupled with the use of iBatis as the persistence layer, resulted in a scalable and efficient Java EE application.

l After sending Sun's big cows away, Ali's data storage encountered a bottleneck again, so he reluctantly bought an IBM minicomputer, and there is a legend like IOE (IBM + Oracle + EMC).

l At the end of 2004, Taobao had 4 million registered users, 40 million PVs/day, and 1 billion transactions on the entire network.

l Spring was born in 2005. It has long been known that the Spring framework is indispensable in web applications, and on Taobao.com, Spring also achieved the purpose Rod Johnson designed it to replace EJB.

l At the end of 2005, Taobao had 13.9 million registered users, 89.31 million PVs/day, and 16.63 million products.

l Considering the future development, such a facility structure can barely meet the current requirements. As a result, CDN technology came in handy. At first, the commercial ChinaCache was used, and then Dr. Zhang Wensong was used to build a low-energy CDN network. The performance of Taobao became better and better.

l At the end of 2006, Taobao had 30 million registered users, 150 million PVs/day, 50 million products, and a total network turnover of 16.9 billion yuan.

l Before 2007, Taobao used NetApp's commercial storage system, but it was still not enough to cope with the rapidly growing trend. In the same year, Google announced the design idea of ​​GFS. With reference to its idea, Taobao also developed its own file system. Each user of TFS has 1GB of image storage space on TFS, which benefits from the file storage system of the TFS cluster and the Lots of image servers. Taobao uses real-time thumbnail image generation, global load balancing, and first- and second-level caches to ensure optimal and efficient access to images.

l Taobao's server software uses Tengine, an optimized nginx module.

l Taobao separates UIC (UserInformation Center) for all modules to call. Senior Dolong wrote TDBM for it again, which is completely based on memory data cache (refer to memcached). Then, Taobao merged TBstore and TDBM to write Tair, a distributed cache data system based on Key-Value. Then I upgraded my iSearch system.

l At the end of 2007, Taobao had 50 million registered users, 250 million PVs/day, 100 million products, and 43.3 billion yuan in sales.

l  ...

l Dubbo is the core framework of Alibaba's internal SOA service-based governance solution, providing 3,000,000,000+ visits per day for 2,000+ services, and is widely used in Alibaba Group member sites. Since Dubbo was open sourced in 2011, it has been used by many non-Alibaba companies.

3. Summary of technology development process

3.1. Single node architecture


3.2. Cluster Architecture

3.3. Cluster + Distributed Architecture



Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326546892&siteId=291194637