Skip to content

refactor: Merge Microservices Architecture into a Monolithic Application #1

@dennis9486

Description

@dennis9486

Title

Merge Microservices Architecture into a Monolithic Application

Overview

Merge multiple existing microservices into a single monolithic application to simplify operations, accelerate development iterations, and reduce maintenance costs.
This change will keep a modular code structure (modules/packages) but unify the deployment process and database.
Cross-service network calls will be removed in the short term.

Goals

  • Replace multiple microservice processes with a single deployable package (jar/docker).
  • Preserve clear business module boundaries and layered architecture.
  • Remove inter-service remote calls (Feign/RPC) and switch to internal method or library calls.
  • Keep existing functionality and API behavior unchanged for external clients.

Task Checklist

  • Define monolithic project structure: modules or corresponding package structure.
  • Replace remote service calls with local method or shared library calls.
  • Unify configuration: merge config centers or use profiles (while preserving runtime configurations).
  • Merge database connections and data source strategies (resolve table prefix/namespace conflicts if needed).

Acceptance Criteria

  • All existing features pass regression tests under monolithic deployment.
  • External APIs remain unchanged or are migrated smoothly via a compatibility layer.
  • The deployment package can be started with a single command; monitoring and logging work properly.
  • Performance (latency, concurrency) meets business KPIs.

Risks & Considerations

  • Monolithic deployment may increase single-instance resource usage and impact availability — HA strategy (replicas/load balancing) should be considered.
  • Database table conflicts or transaction boundaries must be reviewed and migrated carefully.
  • Keep code modular to allow future re-splitting into microservices if needed.

Metadata

Metadata

Assignees

Labels

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions