Design and Implementation of JD Finance’s LEGO Backend System for Dynamic Page Configuration
The article describes the motivation, analysis, architecture, performance optimizations, development challenges, and future plans of JD Finance’s LEGO backend platform, which uses Spring Boot, SpEL, Redis, and reactive programming to enable dynamic, high‑performance page configuration for a high‑traffic mobile app.
The LEGO system is a backend platform built to support JD Finance’s mobile app page construction and operation, aiming to improve operational experience, reduce development cost, and enable dynamic configuration of page content and rules while ensuring robustness and high performance under heavy traffic.
Project background: the legacy backend could not meet the new app’s functional requirements and incurred high maintenance costs, prompting the launch of the LEGO system to handle all new app demands with a tight schedule.
Project analysis: the system must allow dynamic data configuration without version upgrades, using Spring Expression Language (SpEL) extensively to drive page data retrieval, making SpEL the core value of the platform.
Architecture design: the solution is split into a configuration‑management side for template data and a response side that serves page structures via APIs. It adopts Spring Boot 2 with JDK 8, leveraging features such as streams, lambda expressions, reactive programming (Reactor), and functional programming.
Key optimizations include: reading all base data from Redis instead of MySQL, encapsulating business interfaces with EL expressions, using Hystrix for circuit breaking, extracting global API calls via regex‑based expression matching, asynchronous result fetching with thread pools, reactive data processing with Flux, local caching via Guava LoadingCache, and rule‑chain execution for flexible page rules.
Development challenges: rapid progress was hampered by inconsistent third‑party APIs, extensive SpEL configuration validation, and limited front‑end expertise within a backend‑focused team, leading to upskilling in Vue and ElementUI.
Regression analysis revealed poor operator experience due to complex SpEL expressions; improvements were made by hiding expressions behind selectable methods and decoupling business interfaces via RPC.
Future planning: LEGO 2.0 will focus on a platform‑type page‑operation service with visual configuration, full‑activity page output, and expansion into related systems such as an activity support platform.
JD Tech Talk
Official JD Tech public account delivering best practices and technology innovation.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.