微服务正在消亡:一种基于通用接口的模块划分新方法
Microservices Are Dying, A New Method for Module Division Based on Universal Interfaces
AI总结:
针对微服务未能阻止依赖传播的问题,本文提出基于通用接口的模块划分方法与EIGHT架构,通过保证模块独立性实现单进程内动态操作,为复杂系统提供超越微服务和单体架构的新路径。
摘要:
尽管微服务已实现模块的物理隔离,但未能阻止依赖的传播与扩散。为追踪模块间耦合的根本原因,本文从模块变更的影响评估方法入手,提出一种计算模块独立性的概念方法,并利用该方法推导出模块独立的必要条件。随后,提出一种新的系统设计理念与软件工程方法论,旨在消除模块间的依赖关系。采用特定模式设计一套通用接口,作为模块间的通用边界。接着,运用该方法实现名为EIGHT的平台架构,证明只要保证模块独立性,即使是单进程内的单体应用也能在运行时动态加载、卸载或修改任意部分。最后,本文得出结论:该架构旨在为日益复杂的系统探索一条超越微服务与单体架构的新路径。
英文摘要:
Although microservices have physically isolated modules, they have failed to prevent the propagation and diffusion of dependencies. To trace the root cause of the inter-module coupling, this paper, starting from the impact assessment approach for module changes, proposes a conceptual method for calculating module independence and utilizes this method to derive the necessary conditions for module independence. Then, a new system design philosophy and software engineering methodology is proposed, aimed at eliminating dependencies between modules. A specific pattern is employed to design a set of universal interfaces, serving as a universal boundary between modules. Subsequently, this method is used to implement a platform architecture named EIGHT, demonstrating that, as long as module independence is guaranteed, even a monolithic application within a single process can dynamically load, unload, or modify any part at runtime. Finally, the paper concludes that this architecture aims to explore a novel path for increasingly complex systems, beyond microservice and monolithic architectures.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。