Microservices are increasingly used in modern applications, leading to a growing need for effective service integration solutions. However, we argue that traditional API-centric integration mechanisms (e.g., RPC, REST, and Pub/Sub) hamper the modularity of microservices. These mechanisms introduce rigid code-level coupling, scatter integration logic, and hinder visibility into cross-service state exchanges. Ultimately, these limitations complicate the maintenance and evolution of microservice-based applications. In response, we propose a rethinking of service integration and present Knactor, a new state-centric integration framework to restore the modularity that microservices were intended to offer. Knactor decouples service integration from service development, allowing integration to be implemented as explicit state exchanges among multiple services. Our initial case study suggests that Knactor simplifies service integration and creates new opportunities for optimizations.
翻译:微服务在现代应用中日益普及,对高效服务集成解决方案的需求也随之增长。然而,我们认为传统的以API为中心的集成机制(如RPC、REST和发布/订阅)妨碍了微服务的模块化。这些机制引入了僵化的代码层耦合,分散了集成逻辑,并阻碍了对跨服务状态交换的可视性。最终,这些局限性使得基于微服务应用的维护和演进变得复杂。为此,我们提出对服务集成进行重新思考,并介绍了Knactor——一种新的以状态为中心的集成框架,旨在恢复微服务原本应提供的模块化。Knactor将服务集成与服务开发解耦,使得集成能够以多服务之间显式的状态交换方式实现。我们的初步案例研究表明,Knactor简化了服务集成,并为优化创造了新的机遇。