当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
A framework for microservices synchronization
Software: Practice and Experience ( IF 2.6 ) Pub Date : 2020-08-13 , DOI: 10.1002/spe.2877
Antonio De Iasio 1 , Eugenio Zimeo 1
Affiliation  

Microservices architecture and continuous software engineering are becoming popular approaches for developing and operating software products. The enabling feature of this success is the independence of the execution environments hosting microservices: by insulating failures and versioning in specific microservices, a complex application benefits of high availability at runtime and agility at development time. However, execution independence does not mean functional independence. Microservices need to interact among them to fulfill a common goal of an application. The unavailability of a microservice may seriously impact other dependent microservices, limiting continuity. To address this new kind of problem in microservices architecture, we argue the necessity of a synchronization mechanism able to support microservices coordination according to their running states: dependent microservices should wait for unready ones to avoid useless and faulty interactions. In this article, we propose a new framework, Synchronizer, able to support synchronization among microservices by exploiting distributed registries for collecting health/state information about deployed containers and hosted microservices. It has been implemented for the OpenShift platform and validated in different use cases: for example, for coordinating applications bootstrap and for programming scripts of continuous deployment orchestrators, such as Jenkins. In both cases, Synchronizer worked as expected and showed the positive effects of synchronization, giving us a valuable feedback about the possibility of further extending its application and of integrating the feature in existing microservices frameworks (eg, services mesh).

中文翻译:

微服务同步框架

微服务架构和持续软件工程正在成为开发和操作软件产品的流行方法。这一成功的促成特征是托管微服务的执行环境的独立性:通过隔离特定微服务中的故障和版本控制,复杂的应用程序具有运行时高可用性和开发时敏捷性的优势。然而,执行独立并不意味着功能独立。微服务需要在它们之间进行交互以实现应用程序的共同目标。一个微服务的不可用可能会严重影响其他依赖的微服务,从而限制连续性。为了解决微服务架构中的这种新问题,我们认为同步机制的必要性能够根据其运行状态支持微服务协调:依赖的微服务应该等待未准备好的微服务,以避免无用和错误的交互。在本文中,我们提出了一个新框架 Synchronizer,它能够通过利用分布式注册表收集有关已部署容器和托管微服务的健康/状态信息来支持微服务之间的同步。它已针对 OpenShift 平台实施并在不同用例中得到验证:例如,用于协调应用程序引导程序和用于持续部署协调器(如 Jenkins)的编程脚本。在这两种情况下,同步器都按预期工作并显示了同步的积极影响,
更新日期:2020-08-13
down
wechat
bug