The WOT2016 Mobile Internet Technology Summit will be held at the Beijing JW Marriott Hotel on August 26-27, 2016. The conference will discuss topics such as application architecture, platform technology, performance optimization, innovative technology, VR technology, front-end technology, APP competition, operation and security, data analysis, and live broadcast technology, providing guidance for mobile Internet technology practitioners. 51CTO reporter conducted an exclusive interview with Wang Qingyou, the former chief architect of No.1 Store, who will be speaking at the conference. Let us take a sneak peek and find out how he views the evolution of large-scale APP server-side architecture and its top practices. 【Lecturer Profile】 Wang Qingyou graduated from Zhejiang University in 2003 with a master's degree in computer science. He was the former chief architect of Yihaodian and worked for large Internet companies such as eBay, Tencent, and Yihaodian. He is proficient in e-commerce business, good at complex system business modeling and architecture analysis, especially in the SOA/microservice transformation of large-scale distributed systems. He has in-depth theory and practice. APP server architecture changes and development history According to Professor Wang Qingyou, APP has emerged in the past 3-5 years, and its server-side architecture has roughly gone through three stages: 1. When the APP was first launched, its functions were very simple. The wireless team was responsible for building the server, which was provided to the APP for use after simple encapsulation by directly accessing the database table data of each business system or calling the interface. 2. As the functions of APP gradually become richer, the APP server architecture begins to fully copy the functions of the web side, and the server side is decentralized and directly provided to the outside by various business systems. 3. Afterwards, the APP is independently developed based on the characteristics of wireless. An independent gateway provides server-side services, the wireless team provides gateway infrastructure and system-level functions, and the business system team provides business functions. The two are seamlessly connected, integrated and divided, to support efficient expansion of the APP. How to analyze APP system-level functional requirements and structure? APP generally requires functions such as communication, protocol data encapsulation, information reporting (performance monitoring and behavior monitoring), local data storage, Native modules and H5 communication. In terms of structure, communication and protocol data encapsulation belong to the bottom layer and are transparent to the business system. Others belong to public modules and can be directly called by business modules. What is the essence of architecture? As a software system acquires more and more functions and the number of calls increases dramatically, the entire system gradually becomes fragmented and increasingly disordered, and eventually becomes impossible to maintain and expand. Therefore, after a period of wild growth, the system also needs timely intervention to avoid becoming increasingly disordered. In the eyes of top architects, the essence of architecture is "disassembly" and "integration". Disassembly is to split the system into various subsystems/modules/components. When disassembling, the first thing to do is to solve the positioning problem of each component, and then divide the boundaries between each other to achieve a reasonable split. Integration is to organically integrate the various separated components according to the final requirements. Relatively speaking, the first step of disassembly is more difficult. The result of the split enables developers to focus on business and skills and achieve agile development. The result of the combination is that the system becomes flexible and can change according to needs, thus achieving business agility. Skills an architect should have Teacher Wang Qingyou said that the requirements for architects’ abilities are relatively comprehensive. Specifically, the following abilities are required: 1. First of all, he must be an excellent programmer with good command of codes and systems. 2. You must have both technical breadth (multi-field knowledge) and depth (technological foresight), have a very good understanding of the system design of mainstream companies, know their pros and cons, and be able to quickly evaluate multiple solutions when encountering practical problems. 3. Abstract thinking is the most important ability of an architect. An architect should be good at conceptualizing and classifying physical objects. 4. To see the essence through the problem is to dig deeper from the virtual to the real, quickly identify the shortcomings of the barrel and solve them. 5. Have good communication skills to ensure that all parties reach a consensus on the framework and are willing to take action; 6. Have a good balance of trade-offs to ensure that the architecture is the most reasonable within the constraints of existing resources, and that ideals eventually become reality. As an e-commerce company, what are the characteristics of the App server architecture? 1. Commonality and individuality of internal functions E-commerce companies usually have both APP and WEB terminals, which share a set of services. As an APP server, you must first unify the internal services, and then adapt them to the characteristics of the APP, such as data format conversion, aggregating multiple internal services to improve transmission efficiency, etc. 2. Integration of centralization and division, cooperation among multiple teams The e-commerce APP server has many functions, and it is impossible for a single team to take care of them all. Generally, a multi-team cooperation model is adopted. The wireless team is responsible for system-level functions (such as communication protocols/data encapsulation, security, monitoring, etc.), and the business system team is responsible for specific business functions. 3. Fault isolation and high availability The e-commerce app server interface is supported by multiple backend teams, and during big sales, the number of calls to certain interfaces increases dramatically. The server architecture must support the isolation of interface resources to prevent problems with one interface from affecting all app functions. Teacher Wang Qingyou will deliver a speech entitled "Evolution of Large-Scale App Server-Side Architecture and Best Practices" at the WOT2016 Mobile Internet Technology Summit hosted by 51CTO. Please continue to pay attention. |
<<: Building a scalable Javascript mobile app backend solution with Horizon
>>: Will Apple open up its iOS operating system? It missed the opportunity 30 years ago
[Daiyu Finance] Pantaoyuan Swallow Returns Strate...
(1). Baidu has roughly three types of promotion: ...
Wancibaping is a technology that uses Internet cl...
Only by using fewer "tricks" can you tr...
1. First of all, you must determine the products ...
Regarding the iOS 15.0 - 15.1.1 Cheyote jailbreak...
There is a saying circulating on the Internet: Do...
How much does it cost to be an agent of the garde...
The rural market gives you a long time, and you h...
During the epidemic, the wedding photography indu...
Have you tried influencer marketing ? In 2017, in...
Course Description: The official product of the O...
Pinduoduo is a platform e-commerce company with a...
1. SNS online store soft article promotion method...
Killing users’ unnecessary expectations and overl...