How to Build a Scalable AI-Powered Recommendation System with SOA

This article outlines a service‑oriented architecture for a high‑availability personalized recommendation platform, detailing the front‑end, back‑end, crawler, user‑profile modeling, data collection from logs and client events, and processing pipelines using technologies such as Node.js, Python, RabbitMQ/Kafka, MongoDB and TensorFlow.

21CTO
21CTO
21CTO
How to Build a Scalable AI-Powered Recommendation System with SOA

Internet continues to evolve, and architects must stay current.

Personalized recommendation is a multidisciplinary field that combines data mining and machine learning to deliver precise suggestions based on user interests, often without requiring explicit user participation.

We adopt a Service‑Oriented Architecture (SOA) as the core, leveraging a full‑stack technology stack and integrating hot‑topic machine‑learning techniques into practical software engineering. The system is divided into four parts:

1. Web Front‑End

The front‑end, built with Node.js, provides a dynamic website for users to browse content tailored to their profiles, including search results. All business logic resides in back‑end services accessed via RPC calls.

2. Back‑End Service Layer

A Python‑based REST API receives front‑end requests, interacts with databases or message queues, invokes the recommendation engine (e.g., TensorFlow Serving), and returns personalized content.

3. Article Crawler

A continuously running web crawler collects news and article data from various sites, then filters, categorizes, tags, and updates the user‑profile database.

4. User‑Profile Modeling

Data collection focuses on two main sources:

Access logs : Web server logs (e.g., Nginx) containing IP, client details, HTTP status, user‑agent, etc., which are valuable for statistical analysis.

Client‑side events : Actions not captured in logs, such as shares, favorites, social account interactions, cookies, depth and duration of browsing, typically reported via asynchronous Ajax calls.

These events are sent through prepared REST endpoints and queued using MQ systems (RabbitMQ or Kafka) for asynchronous processing. Multiple server processes consume the queues in real time to update user profiles.

Data Parsing and Processing

Collected data can be processed in three modes:

Scheduled bulk processing : Large‑scale jobs (e.g., using Scribe or Python/Java scripts) run hourly or daily to build user profiles.

Real‑time stream processing : Individual events are handled via MQ and Storm for immediate analysis.

Micro‑batch processing : Small batches are processed at minute‑ or second‑level intervals.

The overall goal is to construct a highly scalable and highly available recommendation product using the technology stack: Node.js, RPC/REST, RabbitMQ/Kafka, a crawler, MongoDB, and TensorFlow.

(To be continued…)

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

data pipelinemachine learningrecommendation systemTensorFlowSOAfull-stack
21CTO
Written by

21CTO

21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.