Taobao technology Development (Java era: Reborn) of the Four

Source: Internet
Author: User
Tags php language

My Master Huang Chang-Yeu Xuqiang once said, "good architectural map full of beauty", a good structure, from the aesthetic point of view can be seen. Later, I looked at the architecture of many systems and found that the speech was basically tenable. Then look at Taobao before the two-version of the architecture, you see which is more beautiful.







Obviously the first one looks better, the back one looks top-heavy, this also doomed it is not a stable version, only survived less than six months time. At the beginning of 2004, the SQL relay problem could not be solved, the database had to be Oracle, where to move the knife. Only change the language of development. What language would you like to change? Java. Java is the most mature Web site development language, it has a relatively good enterprise development framework, by the world's mainstream large-scale web sites are commonly used, and other Java development experience of the talent is also more, follow-up maintenance costs will be relatively low.

By the first half of 2004, Taobao has been running for a year, this year has accumulated a large number of users, but also quickly developed a lot of features, at that time the site has been very large, and the new demand is still flowing over. The development of a huge web site to change the language, is tantamount to a new, in the process of change can not slow down the development of the business, which is tantamount to the edge of the run, the time and technical capabilities of the requirements are very high. For such an operation, a first-rate expert should be asked to do the solo surgery. Now take a test of the reader, if you are in the entrepreneurial team, please what kind of people to do it. Our answer is to ask Sun's people. Yes, that's the company that created the Java language, and there's nothing in the world that knows Java better than that. In addition, there is an unknown reason, ... (200 words in harmony, full version see Aliway)

The Sun engineers are really strong, when I came to Taobao at the end of 2004, they were still there and had the honor of working with them for several months. Now the question before them is how to migrate a huge web site from the PHP language to Java. and requires that in the process of migration, not stop the service, the original system bugfix and functional improvements are not affected. Pro, if you're an architect, what do you do? Someone's answer is to write a translator, as the Chinese translation into English, as the automatic translation. I can only say that you are too ahead of the idea, in other words is "too simple, sometimes naive". There was no, and now no one can do it. Their general plan is to give the business module, a module, a module replacement. such as user module, The old member.taobao.com continued to maintain, do not add new features, new features in the new module development, with the old shared a database, developed after the development of a different application cluster, open a domain name member1.taobao.com, while replacing the old function, replace an old module on the function off One, gradually to guide the user to the member1.taobao.com, and so on all functions are replaced, close the member.taobao.com. Then for a long time inside are using member1 such strange domain name, two years later, another Internet company began to do E-commerce, we found that their domain name is also called member1.xx.com, auction1.xx.com ...

Speaking of development patterns, and then the Java MVC Framework used, At the time, the struts1.x was used in a much more framework, but students who have used webwork and struts2 may know that struts1.x has many fatal weaknesses in multiple-person collaboration, and because there is no lightweight framework to base on, it is difficult to expand so that the architect's control over the underlying and global functions is difficult. And among Alibaba's 18 founders, there is an architect, on the basis of Jakarta turbine, has done a lot of extensions, creating a Alibaba's own MVC framework WEBX (http://www.openwebx.org/docs/Webx3_ guide_book.html), this framework is easy to expand, convenient for component-based development, its page template support JSP and velocity, persistence layer support Ibatis and Hibernate, control layer can use EJB and spring (Spring is later). The project team chose this powerful framework, and if it was open source, there might be no webwork and struts2. In addition, when sun in the world vigorously promote their ejb, although Taobao architects think this stuff is not used, but they insist. After many technical discussions, arguments, and quarrels, the architecture of the system becomes the following image:

Java application Server is the WEBLOGIC,MVC framework is WEBX, the control layer with EJB, persistence layer is ibatis, in addition to ease the pressure of the database, commodity inquiries and store queries on the search engine. This architecture diagram is not a bit good-looking, pro.

After the Sun's engineers developed Taobao's website, they made a very cattle website called Alipay.

In fact, at any time, the development of the language itself is not the bottleneck of the system, the business brings more pressure on the data and storage. As mentioned in the previous article, MySQL doesn't hold up. After the Oracle,oracle storage was first on the machine, and then on NAS, NAS could not sustain the use of EMC's SAN storage, and then Oracle's RAC could not hold up, and data storage would have to consider using minicomputer. In the summer of 2004, the DBA Seven, the test engineer Guoff and the architect of epilepsy, set foot on the road to Beijing Test minicomputer. When they came back with the minicomputer, we welcomed them like leaders, because that was our most valuable equipment, and the numbers on the price list were scaring the dead. After the minicomputer was bought, we scrambled for a photo, and Oracle ran on a minicomputer, storage from EMC's low-end CX storage to Sun OEM HDS high-end storage, to EMC DMX high-end storage, and up-level jumps.

So far, we have used IBM's small machine, Oracle database, EMC storage, these things are very expensive, those years can be said to spend the same water. Someone said, "Money can solve the problem, it is not a problem", but with the development of Taobao, in the near future, the money has not solved our problem. Spend money to buy luxurious configuration, may support 100 million PV website, but the development of Taobao is too fast, to 1 billion how to do. What to do with the billions. After n years, we have to create technology to solve the problems that only the world's top websites will encounter. Then we developed on the basis of open source software, step-by-step to the IoE (IBM minicomputer, Oracle, EMC storage) These "artifacts" have been removed. This is like in the "Journey to the Devil" inside, the monster to get the immortal weapon will be very fierce, even monkeys can beat, but the most cattle immortal is not these artifacts, they swing a flick of the sleeve, turn the palm on the power incomparable. Go to IoE. This part will be in the last chapter, the first place to bury a mile foreshadowing.

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.