Actor Continuation Passing: Efficient and Extensible Request Routing for Event-Driven Architectures
Stefan Plantikow

TL;DR
This paper introduces Actor Continuation Passing, a method for request routing in event-driven architectures that improves modularity and performance by using request scripts and continuations, implemented via a new DSL for Scala actors.
Contribution
It proposes a novel approach that extracts request handling into scripts executed with continuations, simplifying event flow management and enhancing efficiency in actor-based systems.
Findings
Request handling with actor continuations performs as well or better than traditional methods.
The approach is effective for scripts with at least 3 sequential steps.
A new DSL simplifies writing request scripts for Scala actors.
Abstract
The logic for handling of application requests to a staged, event-driven architecture is often distributed over different portions of the source code. This complicates changing and understanding the flow of events in the system. The article presents an approach that extracts request handling logic from regular stage functionality into a set of request scripts. These scripts are executed step-wise by sending continuations that encapsulate their request's current execution state to stages for local processing and optional forwarding of follow-up continuations. A new internal domain specific language (DSL) that aims to simplify writing of request scripts is described along with its implementation for the scala actors library. Evaluation results indicate that request handling with actor continuations performs about equally or better compared to using separate stages for request handling…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Service-Oriented Architecture and Web Services · Advanced Software Engineering Methodologies
