{"title":"Handling partial failures in distributed reactive programming","authors":"Florian Myter, Christophe Scholliers, W. Meuter","doi":"10.1145/3141858.3141859","DOIUrl":null,"url":null,"abstract":"Distributed reactive programming enables programmers to reuse the abstractions provided by reactive programming to elegantly implement distributed systems. However, distributed reactive approaches have thus far neglected to address an inherent property of distributed systems: partial failures. This forces programmers to either disregard failures and write poor distributed code or try to detect failures manually (e.g. through time-outs and heartbeats). Moreover, this prohibits distributed reactive runtimes to garbage collect remote references to failed parts of the reactive network. In this paper we present a first attempt at failure handling for distributed reactive applications. To this end we introduce the novel concept of leased signals which allow both programmer and runtime to react to partial failures in distributed reactive applications. We implement leased signals in a distributed reactive TypeScript framework for the development of microservice applications.","PeriodicalId":372925,"journal":{"name":"Proceedings of the 4th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 4th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3141858.3141859","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
Distributed reactive programming enables programmers to reuse the abstractions provided by reactive programming to elegantly implement distributed systems. However, distributed reactive approaches have thus far neglected to address an inherent property of distributed systems: partial failures. This forces programmers to either disregard failures and write poor distributed code or try to detect failures manually (e.g. through time-outs and heartbeats). Moreover, this prohibits distributed reactive runtimes to garbage collect remote references to failed parts of the reactive network. In this paper we present a first attempt at failure handling for distributed reactive applications. To this end we introduce the novel concept of leased signals which allow both programmer and runtime to react to partial failures in distributed reactive applications. We implement leased signals in a distributed reactive TypeScript framework for the development of microservice applications.