Research Article

Granularity Decision of Microservice Splitting in View of Maintainability and Its Innovation Effect in Government Data Sharing

Table 1

Key differences between four architectures.

Monolithic architectureMonolithic–vertical architectureSOA architectureMicroservices architecture

TimeBefore 1990s1990–20002000–2010After 2010s

FeatureTight couplingTight couplingLight couplingDecoupled

Advantage(1) Simple architecture, short development cycle, and low cost
(2) It is relatively easy to optimize and improve performance because of less interaction between interfaces
(1) Simple architecture, short development cycle, and low cost
(2) Vertical splitting of original monomer projects should not be excessively enlarged
(3) Different projects can adopt different technologies
(1) Extraction of common components improves reusability, maintainability, and efficiency
(2) Different projects or services can adopt different technologies
(3) ESB further reduces the coupling between system interfaces
(1) Finer granularity is more conducive to resource reuse and efficiency improvement
(2) Decentralization and lightweight communication protocol
(3) The system has strong maintainability and short iteration period

Disadvantage(1) All functions are integrated in one project, which is not conducive to the coexpansion and maintenance of multiple collaborators
(2) Performance optimization depends on clustering, which has bottlenecks in high cost
(3) Technology stack constraints
(1) Simple decomposition of monolithic architecture
(2) Not conducive to the development and maintenance of large-scale projects
(3) Performance expansion has bottlenecks
(1) The boundary between system and service is blurred, which is not conducive to development and maintenance
(2) The interface protocols of services are not fixed and there are many kinds of services
(3) The extracted service granularity is too large and the coupling between system and service is high
(1) There should be a reasonable balance between the cost of service governance and the refinement of service granularity
(2) Challenges to development team and high cost of technology

Scope of applicationSmall projectsMedium-scale projectLarge projectLarge projects with frequent and complex interactions