ZIO
文章平均质量分 78
zio实践
梦境迷离
点关注不迷路,您的点赞就是我的动力。
展开
-
zio1升级到zio2踩坑和总结
这里不用直接更新到最新版,这样可以保证迁移是最小改动,迁移后再升级即可。不过仍有一些方法是被删除的没有修正,或者遗漏的一些方法没有被重写,需要自己手动改了,基本不需要什么大的改动,删除的方法可以在。首先,从1.0迁移到2.0,可以使用官方的scalefix规则完成一部分方法自动替换(迁移主要解决方法重命名,去掉。,并且使用方式有些变化,不是改个名字就能编译的,甚至调用方还需要略微改动。后,官方发现迁移工作可能非常庞大,后来出了个过渡方案,允许暂时不迁移。并不够通用,在流式解码中性能并不好,所以被弃用了。原创 2023-03-04 20:24:47 · 801 阅读 · 0 评论 -
Scala zio-actors与akka-actor集成
zio-actors与akka-actor集成 zio-actors 与 akka-actor 是两种不同实现,分两种情况: zio actor 发消息给 akka actor akka actor 发消息给 zio actor 依赖 不包括 akka actor 和 zio-actors 依赖,只是集成所需的 "dev.zio" %% "zio-actors-akka-interop" % <VERSION>" 所需的导入如下: import zio.actors.Actor.Sta原创 2022-04-12 21:36:55 · 523 阅读 · 0 评论 -
Scala zio-streams 与 akka-stream 的集成 & ZStream错误处理
zio-streams 与 akka-stream 的集成 总的来说,我在 zim 中集成 akka-stream,其实只是为了集成 akka-http,众所周知,akka-http 是构建在 akka-stream 上的,而 akka-stream 依赖 akka-actor。 对于任意 zio 应用,无外乎就是返回ZIO或ZStream类型的数据。zim 中为了省事,所有接口都使用了ZStream,这点其实很不好,因为ZStream比ZIO操作更多,更复杂。 所以 zim 代码中到处都是runHead,原创 2022-03-31 15:21:53 · 399 阅读 · 0 评论 -
Scala ZIO 的流处理介绍和应用
zio 流处理介绍 摘自官网 流式库的主要目标是引入一个高级 API,该 API 抽象了使用数据源和目标进行读写操作的机制。在 zio 中 需要添zio-streams为依赖才能使用流。流式库帮助我们专注于业务逻辑,并将我们与低级实现细节分开。 有很多人们可能不认识的流式库的示例,这是一个常见问题,尤其是对于初学者而言。初学者可能会说“我不需要流式库。我为什么要使用它?”。这是因为他们看不到流。一旦我们使用流式库,我们就会开始到处看到流,但在那之前我们不知道它们在哪里。 在深入了解 ZIO Stream原创 2022-03-29 14:41:35 · 814 阅读 · 0 评论 -
Scala ZIO 的 Module Pattern 二 应用
即 Module Pattern 2.0 基本介绍 使用 Module Pattern 2.0 编写服务比上一章介绍的 1.0 模式容易得多。2.0 中删除了某种程度的间接性,与编写服务时的面向对象方法更为相似。 Module Pattern 2.0 与面向对象的服务定义方式有更多的相似之处。我们使用类来实现服务,我们使用构造函数来定义服务依赖;归根结底,我们将类构造函数提升到ZLayer。 Service Definition 服务定义 —— 在这个版本中定义服务与之前的版本相比略有变化。我们将获取.原创 2022-03-29 14:35:12 · 186 阅读 · 0 评论