在微服务应用中通过同步避免悬垂依赖导致的错误

Antonio De Iasio, E. Zimeo
{"title":"在微服务应用中通过同步避免悬垂依赖导致的错误","authors":"Antonio De Iasio, E. Zimeo","doi":"10.1109/ISSREW.2019.00068","DOIUrl":null,"url":null,"abstract":"Microservices architecture and containerization are promising software development approaches. In spite of their claimed autonomy, microservices often depend on other microservices to complete their tasks. Since each microservice of an application has its own life-cycle, dependencies may cause faults if they are not satisfied due to the unreadiness of target microservices. To address this problem, we argue the necessity of a mechanism to synchronize microservices according to their running states: dependent microservices should wait for unready ones, so avoiding useless and faulty interactions. In this paper, we propose a new framework, implemented as a service at platform level, able to support synchronization among microservices by exploiting distributed registries for collecting health/state information about deployed containers and related microservices. The service has been implemented for the OpenShift/Kubernetes platform and experimented with different use cases. We mainly focus on avoiding faults due to dangling dependencies during the bootstrap of microservices applications. The valuable effects of the proposed service provided us useful feedback to extend its adoption to other use cases even through its integration in existing microservices frameworks.","PeriodicalId":166239,"journal":{"name":"2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Avoiding Faults due to Dangling Dependencies by Synchronization in Microservices Applications\",\"authors\":\"Antonio De Iasio, E. Zimeo\",\"doi\":\"10.1109/ISSREW.2019.00068\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Microservices architecture and containerization are promising software development approaches. In spite of their claimed autonomy, microservices often depend on other microservices to complete their tasks. Since each microservice of an application has its own life-cycle, dependencies may cause faults if they are not satisfied due to the unreadiness of target microservices. To address this problem, we argue the necessity of a mechanism to synchronize microservices according to their running states: dependent microservices should wait for unready ones, so avoiding useless and faulty interactions. In this paper, we propose a new framework, implemented as a service at platform level, able to support synchronization among microservices by exploiting distributed registries for collecting health/state information about deployed containers and related microservices. The service has been implemented for the OpenShift/Kubernetes platform and experimented with different use cases. We mainly focus on avoiding faults due to dangling dependencies during the bootstrap of microservices applications. The valuable effects of the proposed service provided us useful feedback to extend its adoption to other use cases even through its integration in existing microservices frameworks.\",\"PeriodicalId\":166239,\"journal\":{\"name\":\"2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)\",\"volume\":\"6 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2019-10-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ISSREW.2019.00068\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ISSREW.2019.00068","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

微服务架构和容器化是很有前途的软件开发方法。尽管微服务声称具有自主权,但它们通常依赖于其他微服务来完成任务。由于应用程序的每个微服务都有自己的生命周期,如果由于目标微服务未准备好而无法满足依赖关系,则可能导致故障。为了解决这个问题,我们认为需要一种机制来根据微服务的运行状态同步微服务:依赖的微服务应该等待未准备好的微服务,从而避免无用和错误的交互。在本文中,我们提出了一个新的框架,作为平台级的服务实现,能够通过利用分布式注册中心收集有关已部署容器和相关微服务的健康/状态信息来支持微服务之间的同步。该服务已经在OpenShift/Kubernetes平台上实现,并在不同的用例中进行了实验。我们主要关注如何避免微服务应用在启动过程中由于悬垂依赖而导致的错误。所建议的服务的有价值的影响为我们提供了有用的反馈,将其扩展到其他用例,甚至通过将其集成到现有的微服务框架中。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Avoiding Faults due to Dangling Dependencies by Synchronization in Microservices Applications
Microservices architecture and containerization are promising software development approaches. In spite of their claimed autonomy, microservices often depend on other microservices to complete their tasks. Since each microservice of an application has its own life-cycle, dependencies may cause faults if they are not satisfied due to the unreadiness of target microservices. To address this problem, we argue the necessity of a mechanism to synchronize microservices according to their running states: dependent microservices should wait for unready ones, so avoiding useless and faulty interactions. In this paper, we propose a new framework, implemented as a service at platform level, able to support synchronization among microservices by exploiting distributed registries for collecting health/state information about deployed containers and related microservices. The service has been implemented for the OpenShift/Kubernetes platform and experimented with different use cases. We mainly focus on avoiding faults due to dangling dependencies during the bootstrap of microservices applications. The valuable effects of the proposed service provided us useful feedback to extend its adoption to other use cases even through its integration in existing microservices frameworks.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信