论文标题
游泳:分布式事件驱动应用程序的运行时间
Swim: A Runtime for Distributed Event-Driven Applications
论文作者
论文摘要
游泳扩展了演员模型,以支持由链接的分布式参与者组成的应用程序,这些应用程序不断分析来自数百万源的无限事件流,以与现实世界中的同步响应。 游泳从流媒体事件中构建一个运行的应用程序,创建一个链接,状态,并发的流媒体参与者的分布式数据流图,该图被覆盖在运行时实例网格上。流参与者是数据流图中的顶点,同时分析新事件并修改其状态。链接是图中的边缘,是与演员流API结合的URI。游泳运行时,每个演员国家都使用基于OP的CRDT进行了与其他(可能是远程)参与者的链接的变化,这些CRDS异步更新了远程缓存的Actor State Replicas。这种使用远程状态的最新复制品可以随时释放本地参与者。参与者评估参数函数,包括地理空间,分析和预测,以发现新的关系,伪造或打破链接,并动态调整数据流图以模拟不断变化的现实世界。游泳应用是微小,强大且资源效率的,并且与现实世界中的同步毫不费力,分析,学习和预测。
Swim extends the actor model to support applications composed of linked distributed actors that continuously analyze boundless streams of events from millions of sources, to respond in-sync with the real-world. Swim builds a running application from streaming events, creating a distributed dataflow graph of linked, stateful, concurrent streaming actors that is overlaid on a mesh of runtime instances. Streaming actors are vertices in the dataflow graph that concurrently analyze new events and modify their states. A link is an edge in the graph and is a URI binding to an actor's streaming API. The Swim runtime streams every actor state change over its links to other (possibly remote) actors using op-based CRDTs that asynchronously update remotely cached actor state replicas. This frees local actors to compute at any time, using the latest replicas of remote state. Actors evaluate parametric functions, including geospatial, analytical, and predictive, to discover new relationships and forge or break links, dynamically adapting the dataflow graph to model the changing real-world. Swim applications are tiny, robust and resource efficient, and remain effortlessly in-sync with the real-world, analyzing, learning, and predicting on-the-fly.