Score
Designs, implements, and analyzes software systems decomposed into independently deployable services by defining service boundaries, APIs/contracts, inter-service communication patterns, deployment units (e.g., containers), and orchestration and discovery mechanisms. Engineers and evaluates the operational and distributed-systems concerns these designs create — including service versioning and evolution, data ownership and consistency models, transactions and sagas, resiliency and fault-isolation patterns, observability and monitoring, scaling strategies, and CI/CD pipelines for independent service delivery.
This study addresses the lack of systematic guidance for enterprise software teams in choosing between monolithic and microservices architectures. The work proposes a decision-making framework that integrates technical and organizational factors, evaluating the trade-offs of each architecture across dimensions such as scalability, reliability, deployment efficiency, and organizational complexity. The assessment is grounded in system scale, business requirements, operational maturity, and long-term maintainability. Through architectural pattern analysis, a structured evaluation model, and multiple case studies, the authors develop a practical selection methodology tailored to real-world engineering contexts. This approach offers enterprises clear architectural evolution pathways and actionable guidelines aligned with their developmental stages, thereby significantly enhancing the rationality and sustainability of system design decisions.
Microservices achieve physical isolation but fail to prevent the proliferation of logical coupling, undermining module independence. This paper proposes a novel modularization paradigm based on universal interface boundaries, constructs a quantifiable model for assessing module independence, and designs a runtime mechanism supporting dynamic loading, unloading, and hot updates within a single process. Its core contributions are: (1) reframing module independence as a formal, modelable, and measurable system property—moving beyond qualitative assertions; (2) replacing implicit dependencies with explicit interface contracts to fundamentally block coupling propagation; and (3) implementing the EIGHT platform prototype, which achieves microservice-level module autonomy within a monolithic process. Experimental results demonstrate that the approach significantly reduces the impact scope of cross-module changes, enhancing system maintainability and evolutionary efficiency. It provides both theoretical foundations and practical pathways for next-generation architectures transcending the monolith–microservice dichotomy.
To address performance overhead escalation and transaction boundary degradation arising from process decomposition during monolith-to-microservices migration, this paper proposes a lightweight, trace-based what-if analysis method. The approach comprises three stages: execution trace collection and rewriting, performance-sensitive call-chain simulation, and abstract modeling of transaction boundaries—enabling rapid, quantitative assessment of non-functional property changes induced by service decomposition alternatives. Its core innovation lies in introducing the first trace-rewriting analysis paradigm prioritizing usability and speed, requiring neither source-code modification nor deployment in production-like environments. Evaluated on industrial case studies, the method completes each scenario assessment in seconds—achieving two orders-of-magnitude improvement in analysis efficiency—and thereby significantly facilitates high-frequency, low-friction iteration over service boundaries and informed trade-off decisions.
Migrating monolithic systems to microservices faces a critical challenge: the lack of systematic, code-level guidance for identifying and decoupling inter-component dependencies—existing research predominantly addresses architectural concerns while neglecting actionable, refactor-driven practices. To bridge this gap, we propose a code-level refactoring methodology tailored for microservice migration. Our approach introduces the first comprehensive refactoring catalog for migration, comprising seven empirically grounded patterns that address key scenarios—including service boundary identification, cross-service call extraction, and data decoupling. Integrating literature analysis with industrial practice, the method leverages dependency graph analysis, semantics-aware refactoring, and a hierarchical classification strategy to enable standardized and automatable migration. Experimental evaluation demonstrates that our approach significantly reduces refactoring decision complexity, improves service extraction accuracy and long-term maintainability, and delivers the first production-ready, extensible code-level migration framework for microservice evolution.
Microservice system developers lack empirical evidence regarding the types, root causes, and remediation strategies of recurring issues. Method: We adopt a mixed-methods approach—quantitatively analyzing 2,641 open-source issues, qualitatively interviewing 15 practitioners, and conducting a global survey with 150 practitioners. Contribution/Results: We introduce the first comprehensive, domain-specific three-level taxonomy (“Issue–Cause–Solution”) for microservices. We identify five high-frequency issue domains—including technical debt, CI/CD pipeline failures, and exception handling—and three predominant root causes, notably generic programming errors. From our analysis, we distill 177 actionable, context-aware remediation strategies. This work establishes an empirical foundation for microservice fault diagnosis and mitigation, delivers practical guidance for industry practitioners, and pinpoints critical research directions for next-generation microservice engineering.
This work addresses the challenge of effectively evaluating the trade-offs between data consistency and coordination overhead among distributed transaction patterns—such as Saga and TCC—in business logic-intensive microservice systems prior to production deployment. The authors propose a lightweight microservice simulator grounded in Domain-Driven Design (DDD), which, for the first time, integrates DDD aggregate root modeling with multiple transaction models to decouple business logic from communication and transactional infrastructure. The framework supports configurable deployment topologies and network constraints, enabling seamless transitions from centralized to fully distributed architectures while providing a deterministic verification environment. Empirical evaluation on complex multi-aggregate systems quantifies the performance, coordination overhead, and resilience of different transaction models, substantially reducing development costs and facilitating left-shifted architectural validation.
This study addresses the inefficiency in serverless platforms caused by complex, non-conservative information flows among functions. It introduces Hodge decomposition—a novel application in this domain—to construct a service topology model that decomposes observed operational flows into locally correctable components and globally persistent harmonic modes. The work demonstrates that harmonic flows are intrinsic structural characteristics of the system rather than artifacts of misconfiguration, and leverages this insight to propose new optimization mechanisms such as the “dumping effect.” By constructing service flow spectra and performing harmonic analysis, the approach effectively identifies architectural-level performance bottlenecks, thereby validating its efficacy in uncovering structural inefficiencies and guiding targeted performance optimizations.
本文提出了一种服务健康工程方法,通过结合遥测、工作流完成情况等手段来检测分布式系统中的静默故障和异步工作停滞问题。
本文提出了一种基于仓库的实现方法,通过自动接口更新和一致性检查减少有人和无人飞行器软件开发中跨域不一致问题。
This study addresses the lack of large-scale empirical evidence on the practical application, evolution, and impact on maintenance quality of Domain-Driven Design (DDD) in open-source projects. Through a pre-registered empirical approach combining the GitHub Search API, keyword filtering, manual assessment, and longitudinal commit history analysis, the work systematically investigates the distribution, co-occurrence, and evolution of DDD tactical building blocks, as well as violations of bounded context boundaries. It provides the first large-scale quantitative evidence of the prevalence of such boundary violations and establishes a temporal association between the evolution of DDD building blocks and software maintenance activities. These findings offer crucial empirical grounding for improving DDD tooling and refining its practical adoption.