Parapet分布式事件驱动系统库
Parapet 是一个用来构建分布式事件驱动系统的纯功能库。
编写分布式系统是一项具有挑战性的任务,这在逻辑上可分为两个主要方面:实现分布式算法并运行它们,这不是秘密。 Parapet扮演分布式算法执行框架的角色 - 它可以被视为低级效果库和以DSL形式公开的高级操作之间的中间层。主要专注于设计和实现分布式算法的分布式工程师不需要担心IO等低级抽象,或者对某些计算机科学主题有一定的深入了解,例如并发。他们需要知道的是库满足的属性以及它提供的保证。另一方面,专门编写低级库的工程师可以专注于实现IO或Task等核心抽象,从而进行性能优化和实现新功能。 Parapet是模块化库,几乎所有组件都可以用自定义实现替换。
关键特性:
- 使用Tagless-Final Style和Free Monads以scala编写的纯函数库; 精心设计的人更喜欢功能风格而不是命令式
- 模块化 - 几乎任何组件都可以用自定义实现替换
- DSL提供了一组足以编写分布式算法的操作
- 轻巧,高效。 该库巧妙地利用资源(CPU和内存),优化代码以减少应用程序处于空闲状态时的CPU消耗
- 内置支持以下效果库:Cats Effect,Monix和Scalaz ZIO。 该库可以扩展为支持其他效果库:Cats Effect,Monix和Scalaz ZIO
示例代码:
import io.parapet.core.{Event, Process}
class Printer[F[_]] extends Process[F] {
import Printer._ // import Printer API
import dsl._ // import DSL operations
override def handle: Receive = {
case Print(data) => eval(println(data))
}
}
object Printer {
case class Print(data: Any) extends Event
}
评论
WeEvent分布式事件驱动架构
什么是WeEvent?WeEvent是一套分布式事件驱动架构,实现了可信、可靠、高效的跨机构、跨平台事件通知机制。WeEvent由微众银行自主研发并完全开源,秉承分布式商业模式中对等合作、智能协同、价
WeEvent分布式事件驱动架构
0
libhv异步事件驱动库
libhv是一个跨平台的类似libevent、libev、libuv的异步事件驱动库,提供了更加简单的API接口和更加丰富的协议。Features跨平台(Linux,Windows,Mac)事件循环(
libhv异步事件驱动库
0
Betternet网络模型的事件驱动库
BetternetBetternet是用C++实现的一个基于epoll,poll,select等网络模型的事件驱动库,以后会封装成网络库,目前只是在测试阶段。
Betternet网络模型的事件驱动库
0
microEWT事件驱动的 UI 类库
microEWT是一个基于事件驱动的J2ME用户界面类库。其架构类似于AWT,Swing,SWT这些桌面UI框架。组件展示与用户界面逻辑相分离,便于皮肤更换。
microEWT事件驱动的 UI 类库
0
Chronicle高性能内存消息和事件驱动库
Chronicle是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟500-2000万消息/记录。
Chronicle高性能内存消息和事件驱动库
0