This paper describes the evolution of vivo official mall from single application to e-commerce platform with comprehensive capabilities, and the evolution of system architecture to service-oriented and mid platform oriented.
Vivo official mall is the official online e-commerce platform of vivo, which is mainly engaged in vivo mobile phones and exclusive accessories. After several years of development, it has completed the evolution from single application to e-commerce platform with comprehensive ability, and the overall system architecture has gradually changed to service-oriented and mid platform oriented. We have practiced some system architecture experience in this road of system architecture upgrading.
Through this article, we can let the partners who are interested in e-commerce have a more comprehensive understanding of the most basic e-commerce business model, the technology and architecture of e-commerce system, and the architecture evolution of the system in different periods.
2、 History of architecture change
“Rome wasn’t built in a day.”. The architecture upgrading of any e-commerce system is not achieved overnight, and it needs a process of steady development. The form and volume of business development at different stages determine the system architecture. The following is a picture to describe the history of the structural changes of the mall in recent years.
(Figure 1.1 evolution of vivo official mall)
Before 2015, vivo’s official mall was an outsourcing project, which adopted the relatively mature technology in the marketECStore(enterprise level open source online e-commerce system) e-commerce products as the basis of the system, the main language is PHP.
Project version is based on the second development iteration.
Like the early development of most e-commerce platforms, it can meet the requirements of rapid deployment and online.
At the same time, the disadvantages are obvious
- The performance is very poor, and it can’t support the slightly larger operation activities at all. When there are new products and big promotion activities, the system load is high, and the business is basically unavailable, which can not meet the needs of operation activities.
- Demand communication efficiency, R & D efficiency is low, outsourcing R & D, product remote office, demand communication is difficult.
- The core project is controlled by others, and the official mall of vivo must be in its own hands.
In order to solve these problems, the architecture needs to be upgraded and the system needs to be reconstructed.
2.1-mall v1.0 monomer period
In May 2015, vivo officially launched the reconstruction plan. Vivo uses its own R & D team and has a clear goal. It develops its own vivo official mall to provide users with a better shopping experience.
In January 2016, our own vivo official mall was officially launched.
Mall v1.0 uses Java as the mainstream development language, adopts the classic MVC framework, and develops a single application including various business modules. The overall business module is shown in the figure below:
(Figure 2.1 system architecture of mall v1.0)
Compared with before, the most important guiding ideology of this refactoring is“layered”。
In business, each module is logically layered. It’s divided intoCommodity module, order module, marketing module, settlement module and so onTo make the code logic clearer.
The architecture is also decoupled hierarchically
- [performance layer]The layer closest to users is mainly used to process data presentation logic and render data;
- [service layer]– responsible for the business logic between the presentation layer and the data layer;
- [data layer]– responsible for the landing storage of data, and the common storage media are MySQL and redis;
In the period of single application, the business development of vivo official mall is still in the early stage, and the business complexity is not high. The logic of home page, business details page and settlement page is relatively simple and light.
V1.0 architecture can fully support the daily new products and activities, and the version iteration is faster. Compared with ecstore, the performance is improved by at least two orders of magnitude, so the reconstruction of mall v1.0 is very successful.
2.2 mall v2.0 service oriented
After the v1.0 architecture upgrade of the official mall, it passed a period of time smoothly. In the past two years, there are more and more vivo mobile phone products, and the online business has begun to develop rapidly.
With the rapid growth of user level, the disadvantages of single architecture of mall v1.0 are gradually exposed
- The rapid growth of user traffic makes the performance bottleneck again, and the single database and redis are hard to resist.
- V1.0 architecture has layered the business modules, which is only limited to the code module level splitting, without physical isolation, and the single application is becoming more and more bloated.
- All R & D maintain the same set of code, project engineering maintenance becomes difficult. The fast iterative version makes the boundaries between modules become blurred, code corruption is serious, and development efficiency becomes low.
Based on the above problems, we started to split the system vertically based on the business module. The new system architecture adopts the mainstream SOA Architecture (Service Oriented Architecture).
Since 2017, mall v2.0 has been steadily split and independent with service as the core. We have to ensure that the existing business will not be affected at all by independent modules. Some people describe this process as “high-speed tire change”. If we act carelessly, it will be fatal to the system.
Finally, it took us nearly a year and a half to split the four core systems of activities, commodities, orders and coupons. Split out of the business line began to perform their duties, to provide service-oriented ability to support the main business.
(Figure 2.2 system architecture of shopping mall V2.0)
The following will introduce the whole process of each system split.
2.2.1 activity system independence
As the only online official channel of vivo, the official mall carries the online activity demand of all new products. Every new product launch is completed by the mall system. A large number of frequent activity demands lead to frequent version changes and launch of the mall, which leads to our thinking.
Compared with the core transaction link of e-commerce, the activity system itself is relatively independent and should not be coupled with the main line transaction. Therefore, in the middle of 2017, the special page configuration, new product launch, lottery and appointment functions in the mall were separated, and the mall activity system was independent.
In August 2017, the activity system went online independently. The new activity system began to undertake new products, big promotion and other promotional activities. With the continuous iterative development of activity system, it has become an important part of e-commerce platform.
2.2.2 commodity system independence
Commodity system is the core of supporting the whole e-commerce platform and the most important part of e-commerce system. Products connect users and platforms. Through the product details page, the product content can be perfectly displayed to users and the product connotation can be interpreted.
Mall v2.0 service, commodity is the focus of this rectification.
When we think about the systematic problems caused by v1.0 architecture, we also begin to think about how to cope with the future business growth through this split. The problems to be solved in shopping mall v1.0 commodity module are as follows
- Product category creation is limited. Only vertical mobile phones and accessories can not support the whole category.
- The product does not support store and brand dimensions, which is relatively single.
- The query performance of v1.0 commodity module is low, and single instance redis can not meet the requirements of high performance and high availability.
- Historical v1.0 commodity interfaces and models have penetrated into various modules, so it is difficult to separate them completely.
The independence of commodity system is carried out with the above problems and thinking. The major goal is to draw a clear business boundary and completely decouple from the mall. We hope that the separated commodity system can better and more quickly undertake the future expansion of the whole category and provide comprehensive services. To further serve the main business of the mall, lay a solid foundation.
2.2.3 independent coupon system
Coupons are one of the commonly used marketing means in the industry. A large number of coupons will be issued every big promotion, holidays and new products. Cooperation with external advertisers, internal purchase of benefits, value preservation and renewal are also carried in the form of coupons.
With the increase of marketing activities and the increase of coupon use scenarios, the problems of coupon system are gradually exposed
- The issuance of massive coupons has reached the bottleneck of coupon single database and single table storage.
- The high coupling with the mall system also directly affects the interface performance of the mall.
- For multi category coupons, there is no ability to precipitate universal coupons on the technical level.
The above problems need to be solved when the coupon system is independent. After independence, the coupon storage capacity will be improved to support the coupon distribution in the next five years. The performance of the overall voucher issuing interface has also been improved, from the original asynchronous voucher issuing and asynchronous account receiving to synchronous voucher issuing and real-time account receiving. At the same time, it provides platform level coupon capabilities, and provides general coupon marketing capabilities for the whole company’s business.
2.2.4 order system independence
The order system also has the same problems as coupons. With the explosive growth of user level, performance problems are gradually exposed
- With the continuous accumulation of data, the storage bottleneck of single table is approaching, which leads to the slow query and modification speed of orders.
- Single MySQL processing capacity is limited, when the amount of concurrent directly drag down all the business of the whole mall.
For the first time, ES, sharding JDBC and other technical components are introduced to solve the problem of data volume and high concurrency. After the order system goes online, both the order storage level and the order concurrency level have been increased by more than ten times, at least meeting the high-speed development of business in the next five years.
So far, the core system of the mall has been split, each system provides unified and standardized services, has more pure business basic ability, decouples from the main station of the mall, and greatly improves the iteration efficiency.
2.3 mall V3.0 business system development
Shopping mall V3.0 is aimed at the rapid development of shopping mall business, to improve the business system.
At this stage, due to the continuous expansion of business channels and the increasing number of promotion methods, many independent business subsystems were derived from the mall. It containsConsignment system, CPS system, promotion systemThree business systems.
(Figure 2.3-v3.0 system architecture of shopping mall)
2.3.1 consignment system: the link between shopping mall and consignment goods
In order to enrich our own commodity categories and support more operation methods, we began to explore the business of consignment, and tried to connect with the high-quality platform of categories. Many platforms also support system docking and adopt the sales mode of sales based on purchase.
Under this background, the consignment system was born. We hope that the consignment system can become the “adhesive” between the external platform and vivo mall, and provide the following main functions:
- It supports the transformation of commodity data models of the two platforms, supports the secondary editing of some information, and is more localized.
- Real time synchronization platform to synchronize the inventory, price, order forward and reverse information.
- Support the product browsing and order placing service of vivo mall users to meet the perfect shopping experience of users.
The consignment system is an attempt for us to connect with the external system and introduce external commodity sales. The general ability of consignment has been completely precipitated by us, which can continue to support the subsequent access of other platform products.
2.3.2 CPS system: Mall rebate platform
The positioning of CPS system is the promotion rebate platform system under vivo official mall system. The business of the mall continues to expand, and the business group of the mall also begins to expand outward. Mainly for some big V and some external promotion platforms with strong ability to bring goods, in the form of commission rebate, maximize their ability to bring goods.
With the access of user groups and promotion platform, CPS system gradually precipitates some basic capabilities. At present, it supports tob and TOC universal access capabilities.
2.3.3 promotion system: Mall Marketing
The promotion system is the promotion center of the mall, carrying all the marketing methods of the mall.
The independence of the promotion system comes from the fact that the v2.0 architecture of the mall can’t meet the increasing activities. It solves the following pain points of the original promotion of the mall
- There is no strict activity priority relationship.
- With the addition of new activity requirements, the amount of changes and the wide range of influence points, it is impossible to accurately evaluate.
- The promotion performance can not meet the activity level, which often affects the performance of the main station of the mall.
The promotion system is independent and decoupled from the mall, providing pure mall marketing activities. Promotion system also includes: commodity pricing and commodity price monitoring basic ability.
With the deepening of economic globalization, domestic brands have been deployed overseas. As the largest single overseas market, India has a very broad market prospect. To meet the needs of the local market, the official mall of online India has been put on the agenda.
In December 2017, India vivo official mall was officially put into operation.
There are 22 official languages in India, of which more than 1600 have been registered. Supporting multilingualism is the primary task in the process of internationalization. The traditional I18N solution can solve the problem of basic copy configuration, but the project needs to go through the release process, and the maintenance cost is very high.
The multilingual copywriting system standardizes the process of copywriting requirement proposing, translation, testing and publishing, which greatly improves the publishing efficiency and copywriting quality.
(Figure 3.1 – Multilingual copywriting Center)
In November 2020, Thailand’s vivo official mall will also be officially put into operation.
Compared with domestic e-commerce, overseas e-commerce business needs to cover multiple countries / regions, and each region has its own language, time zone, currency, etc. How to use a set of codes to support multiple regions at the same time is a problem we have to face and solve.
After three years of exploration and polishing, we have created a set of universal global solutions, including multilingual copy system, multi time zone common components, Multi Country isolation framework, multi machine room domain name deployment scheme, etc., which can better support the current business development needs.
(Figure 3.2 – multi time zone common components)
(Figure 3.3 – Multi Country isolation framework)
The above scheme, the idea of abstract public configuration and the corresponding isolation technology points, even in the non international scenario, also has great reference value.
Overseas markets are complex and changeable, with differences in language, culture, regional standards, laws and regulations, as well as regional development stages and infrastructure maturity.
Challenges and opportunities coexist. We should not only fully support business development, but also give priority to compliance rectification requirements. We should refine a set of universal international architecture, but also meet the needs of localization customization. We should not only rationally apply the high network speed in developed regions, but also optimize the page loading performance in underdeveloped regions.
“More local more global”. With the deepening of globalization, we will continue to refine the global architecture and forge more robust international / localized products.
At the end of this article, I will briefly introduce the historical changes of the structure of vivo official mall in the past five years, without too much technical interpretation.
The introduction here is just the tip of the iceberg behind the mall technology. In the future, we will publish more related articles to introduce the architecture and core technology of each system in detail.
Author: vivo official website mall development team