How Alibaba Cloud Redis Made the Double 11 Shopping Festival Possible
By Hao Nan
The 2018 Double 11 global shopping festival was supported on the backend by the technical capabilities of Alibaba Cloud ApsaraDB for Redis. Redis sustained peak traffic during the entire shopping event, allowing millions of online shoppers to have an enjoyable shopping experience. Below, this article details some of specific business scenarios in which Alibaba Cloud Redis helped make the Double 11 shopping festival possible.
Supporting Live Streams to Work Anywhere
Live streams also saw a peak in traffic during the 11.1.1 global shopping festival. Alibaba Cloud Redis helped to make live streams. The live streaming platform writes two pieces of data for each comment: the index and the user comment. The index uses the SortedSet data structure of Redis to sort the comments, while the comment content itself uses the Hash storage. To obtain a comment, the index is read first, then the corresponding Hash is accessed to obtain the comment list. The process of writing a comment is as follows:
Currently, live comments are indispensable for live streams. Like comments, the QPS for writing abnormal live comments can be very high, and users are all over the country or even around the world. The latency of a live comment sent from the United States is unacceptable when it is written across the ocean and deployed in China. Even the low-latency Redis cannot help with the physical distance limitation. And, deploying a single set of storage in each region makes it impossible for users in different regions to see each other’s comments.
The active geo-redundancy feature of Alibaba Cloud Redis active was created for this scenario. A set of Redis is deployed in each region, users write data nearby, and the backend automatically synchronizes data in real time, making the users across the ocean seem less distant.
Providing Order Fulfillment Solution
After an online shopper buys an item during the Double 11 shopping festival, a corresponding logistics order is created. For orders processed by Alibaba’s Cainiao warehouse and logistics system, the decision making system generates an order fulfillment plan based on order information so that each stage of warehouse and logistics works intelligently with each other. The plan specifies the time for issuing the order to the warehouse, the time for outbound delivery, the time for item collection, and the time for delivering the item. The document fulfillment center carries out each stage of logistics services against the fulfillment plan. Due to the limited capacities of warehouses and logistics, documents to be processed first are orders considered to be of the highest priorities. Therefore, orders are sorted by priorities before being issued. ApsaraDB for Redis helps to make all this happen by sorting logistics orders and determining their priorities.
Supporting Community Interaction
The Weitao Community is the major social media aspect of e-commerce platform Taobao. With Weitao, Taobao users can specify their follow lists and shops have data about their followers. The overall social relation is as shown below.
The rich data types of Redis help to make the storage of this social relation simple, and the high performance of Redis also ensures that the business is still smooth during the November 11 shopping spree.
Supporting Double 11 Data Dashboards
During the Double 11 global shopping festival, the media center data dashboard with the highest output rate, as well as the monitoring data dashboard of many technical and business modules, are available. This type of dashboard not only requires high real-time data, but also requires high reliability. Once an exception occurs, it can be quickly displayed through the dashboard.
- Data Cache
The dashboard collects the monitoring information of all business or technical modules, and features a wide range of sources, a large amount of data, and high real-time performance. Redis meets the demand with high performance and low latency. A large amount of data is updated in batches through the pipeline, and the “update case when” statement is used for batch update when the data is stored in the database, which is very efficient and greatly relieves pressure on the database.
- Lock Contention
The availability requirement of the dashboard is very high, and the dashboard must be displayed normally under any fault. The entire dashboard needs to be supported by the deployment of two or more data centers. When multiple tasks are performed at the same time, the actual execution of one task is guaranteed based on the lock contention implemented by Redis.
Supporting Transparent Data Center Migration
Before the Double 11 shopping festival, the business in Alibaba Group Shanghai data center was migrated to Zhangbei data center. This involved hundreds of Redis instances. At the same time, this migration also needed to meet the following requirements:
- The migration of the Redis service needed to be transparent to business operations, so not to affect normal services.
- Data consistency must be ensured without loss or duplication.
- For data synchronization, it is necessary to have the resumable upload function.
- A rollback solution is available to switch back at any time in case of business switching problems.
The active geo-redundancy feature of Alibaba Cloud Redis met all of these requirements, while also being productized and automated. In fact, for your services, the entire migration process can be completed by the user only clicking the mouse on the console. The instance status, and the data synchronization status at the backend are displayed on the console in real time.
Redis is an excellent open-source database that provides more convenient data models for developers that can be used even in demanding scenarios. Alibaba Cloud Redis is committed to providing stable and high-performance Redis service. Developers are welcome to use the Alibaba Cloud Redis service.