Velocity keynote speech entitled "Architecture and Performance Optimization of the mobile Internet content platform"

Source: Internet
Author: User

[Author: Sun Li link: http://www.cnblogs.com/sunli/ updated on:]

We are very honored to share the architecture and Performance Optimization of the mobile Internet content platform at this velocity china 2010 Conference. Click here to download the pdf version of the ppt. Since a large number of friends did not go to the site, they could not fully express what I meant in the PPT, so I wrote this blog for some text instructions. If you have any questions, you can leave a message or discuss it with me on Weibo.
This is me, haha.

 

I believe that a good system architecture needs to begin with the product requirements, and I also believe that the performance optimization of a system must also be based on the product requirements, therefore, I spent a lot of time analyzing why to design a content platform and how to design such a system from the perspective of product design.System ArchitectureFinally, the system architecture is based on how to optimize the performance to meet non-functional requirements.

As a developer, I have experienced a period of rapid development of the fixed Internet. In the past, we often developed different websites, video display systems, news sites, and other content-based systems. In order to improve development efficiency, we abandoned the complexity of website development, the CMS system appears. For example, the CMS system (php168, phpcms, etc.) and portal CMS (customized large-scale CMS system) that are common for Small and Medium websites, CMS system simplifies the difficulty of website development, and a high-performance and stable site can be built without special technologies.

At the beginning of this year, mobile GPRS fees were lowered, 3G networks were developed, and smart phones were widely used. The traffic on our mobile phone Phoenix network increased significantly. As far as I know, many companies have seen high traffic growth (see the third page of the PPT ).

The development of mobile Internet poses a higher challenge to programmers:

  1. Multiple carriers(China Telecom, China Mobile, China Unicom, and Wi-Fi users). The rate of mutual access is the same as that of China Telecom's North-South communication over the fixed Internet.
  2. Multiple terminals(Super many mobile phone types, screens, systems, browsers), more adaptation problems (unlike fixed Internet, only IE6, IE7 and firefox, chrome are compatible)
  3. Diverse needs(Fast requirement). Due to rapid development, the performance of the developed system will be low after a period of time, and the system will often go down. The pressure on programmers will be great. (Ps: the wireless technicians of a certain company are already two dead)
  4. Traffic surge,The system must have higher performance and scalability.
  5. Almost no static page(Adaptation, output different content based on client and other customer information). Static html can be generated on the fixed Internet, and cdn can be used to improve performance, mobile Internet has higher performance requirements.
The architecture of the previous version (WAPCMS) of the mobile phone Phoenix network uses the common JSP + Mysql + Linuxi architecture. (Page 5 and 6 of the PPT ). It is expanded through Mysql master-slave replication, and the front-end uses a self-developed reverse proxy for cache (which integrates the business logic code ). Due to frequent code updates and the addition of many new jsp sites, the code is very difficult to maintain and the performance is very low. At that time, more than 10 machines had to cope with more than 10 million PVS/day, and there would be downtime. You may say that the performance of this system can be optimized. Yes, it can be optimized, and the performance is very low. However, it may not be long before the system is optimized because it is insufficient to cope with the new requirements, then, performance will decline. So we need a system, as facebook proposed at the meeting, "how to keep the website fast". Yes, it is necessary to keep the website fast, with high performance and stability, no matter how hard the developers are, the system is always fast and the performance is very high. Therefore, we have developed an IMCP system. IMCP (Ifeng Mobile Content Platform) is not only the system of our wap website, but also provides Phoenix Mobile Station, video client, and Phoenix news client. It supports live activity broadcast and online code development, the average performance of a single machine reaches 1800 + PVS/day. On our platform, developers can develop high-performance websites simply by calling the sdk method provided by the system without considering performance issues. To the ppt page 9th. In order to design a general system platform as much as possible, we split the webpage. We believe that web pages are composed of sharable blocks. These blocks contain editable static html blocks (manually edited), automatically generated lists (article list) blocks, recommendation spaces (manually selected by editing), and document blocks. Generally, news sites on the fixed internet can be composed of these blocks. Because our mobile Internet is based on dynamic pages, we also add logical blocks to control the logic of all blocks. Because developers often need to develop a site similar to the main site for Nokia, but some sites with different content usually need to copy a copy of the code. Therefore, we plan to split the code into logical blocks for reuse, and reuse the pages as much as possible. We can create sites online without the involvement of the O & M department. Therefore, we plan to store our code in the nosql code library, store all the code managed by NOSQL, and perform online editing through the background. When you access the front-end, go to nosql to get the code for running. Automatic Code deployment across machines and data centers is achieved through NOSQL master-slave replication. In this mode, developers only need to perform online development in the background, and do not need to worry about the IP address servers on which the Code runs, and what IP address storage and database to connect, everything is transparent. To get the content of an article, you can directly getDoc (id. Ppt13-22 page for some background interface demo ppt after the content are basically can understand, which is very meaningful is our The front end is completely based on nosql dataThis is also a successful use case of nosql. Since the ppt is clear, I will not elaborate on it in detail. The code running performance monitoring on the last page is of reference significance to many friends. by monitoring the code running status, you can view the system's trust in the running performance status in real time. This time velocity china 2010 gave me the greatest feeling: Each company has a bottom-layer team dedicated to helping developers simplify development complexity, automate and improve system performance and stability (so that developers no longer care about these issues). The same is true for our IMCP system. Developers do not need to care about cache or performance. As long as we use the functions provided by our SDK to build a system, the website is always very efficient and the development speed is very fast. The online version of the PPT is as follows: Architecture and Performance Optimization of the mobile Internet content platform

View more presentations from Sun Li.
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.