Parapet

分布式事件驱动系统库
授权协议 Apache
开发语言 Scala
所属分类 服务器软件、 分布式应用/网格
软件类型 开源软件
地区 不详
投 递 者 丁弘新
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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
 
}

 

 相关资料
  • 数据存储容量的问题。 数据读写速度的问题。 数据可靠性的问题。 几种常见 RAID 的对比|名称|优点|缺点| |------|------|------| |RAID 0|使用 N 块磁盘的 RAID 0,将数据从内存写入磁盘时,将数据分成 N 块,并发写入,读取同理。所以,读写速度是单盘的 N 倍。|任何一块盘损坏,数据完整性破坏,数据不可用。| |RAID 1|数据写入磁盘时,将一份数据同时

  • 问题内容: 我正在尝试通过系统调用或子流程来实现事件驱动的流程。基本上,我想启动一个非阻塞系统命令,并且在该系统调用完成后,我希望一个函数被调用。这样一来,我可以启动GUI进度栏,启动系统命令并使进度栏继续运行,并在系统调用结束时停止进度栏。 我绝对不希望做的是生成一个进程,获取其进程ID,并在while循环中继续检查该进程的完成情况。 下面只是一个我如何想象它应该工作的示例(所有这些都在一个类中

  • 任何我们可以实现的解决方案或模式?

  • 一、介绍 HDFS (Hadoop Distributed File System)是 Hadoop 下的分布式文件系统,具有高容错、高吞吐量等特性,可以部署在低成本的硬件上。 二、HDFS 设计原理 2.1 HDFS 架构 HDFS 遵循主/从架构,由单个 NameNode(NN) 和多个 DataNode(DN) 组成: NameNode : 负责执行有关 文件系统命名空间 的操作,例如打开,

  • 主要内容:一、从一个新闻门户网站案例引入,二、推算一下你需要分析多少条数据?,三、黄金搭档:分布式存储+分布式计算这篇文章聊一个话题:什么是分布式计算系统? 一、从一个新闻门户网站案例引入 现在很多同学经常会看到一些名词,比如分布式服务框架,分布式系统,分布式存储系统,分布式消息系统。 但是有些经验尚浅的同学,可能都很容易被这些名词给搞晕。所以这篇文章就对“分布式计算系统”这个概念做一个科普类的分析。 如果你要理解啥是分布式计算,就必须先得理解啥是分布式存储,现在我们从一个小例子来引入。 比如说

  • 被别人指出问题时,别管别人能不能做到,看别人说的对不对,然后完善自己。别人能不能做到是别人的事情,自己能不能做到关系到自己能否发展的更好。——hustlihaifeng Go语言号称是互联网时代的C语言。现在的互联网系统已经不是以前的一个主机搞定一切的时代,互联网时代的后台服务由大量的分布式系统构成,任何单一后台服务器节点的故障并不会导致整个系统的停机。同时以阿里云、腾讯云为代表的云厂商崛起标志着

  • Hadoop分布式文件系统(HDFS)的设计主旨,在于对超大规模数据集提供可靠的存储功能,并对用户应用程序提供高带宽的输入输出数据流。在大型的集群里,上千台服务器均可直接参与到数据存储和应用程序任务执行。通过多服务器,分布式的存储和计算,计算资源的规模能够按照需要增长,并兼顾在各种规模上经济适用性。 本文主要描述了HDFS的架构,并以Yahoo!企业数据服务为例,介绍了如何使用HDFS系统管理高达

  • 请求分发事件 function onDispatcher(Request $request,Response $response,$targetControllerClass,$targetAction); HTTP请求进来后,easySwoole会对请求进行解析以及分发,当找到对应的控制器后将会执行本事件 注意: 如果请求无法解析到对应的控制器,或控制器不是继承自AbstractControll