5-year Evolution of Ele.me’s Transaction System — Part 5

Message Cluster Splitting

Let’s analyze the reasons for this accident in the preceding context. According to our performance test on RabbitMQ clusters, the throughput was acceptable. However, the CPU load was very high and triggered the self-protection mechanism of RabbitMQ. As a result, message sending by producers was affected and the CPU even crashed.

Virtual Commodity Transactions and Innovations

Breakfast Order System

From late 2015 to early 2016, Ele.me had a low share of breakfast orders, which had a significant impact on the technical architecture at that time.

  1. The payment system was specially customized for the takeout business because we were unable to develop an independent payment system and the payment system was coupled to the user system before early 2016.

Ele.me Delivery Membership Cards

At the beginning of 2016, the business team proposed that Ele.me delivery membership cards be virtualized and sold online. Previously, the cards were physical cards and were promoted by delivery riders offline. At that time, we had just passed the architecture review and needed a low-traffic business model to practice our new architecture vision. Therefore, we developed an order system for selling virtual goods.

  1. The purchase behavior on the customer side is relatively simple, while the delivery on the business side may vary.
  2. The more critical the system, the simpler it should be.

Other Services

We actually created some derivative services related to transactions. However, due to the impact of the organizational structure, the order team was usually responsible for these services at that time.

Original Source:



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store