How we made a financial system using Cats Effect, FS2, and doobie in FOLIO
Scalaの非同期・ストリーミング処理ライブラリであるfs2で、ジョブキュー的な感じで、複数のワーカにデータを分散して配りたいことがあり、それの実現方法について調査したメモ。 fs2.io 追記(2023-09-23) fs2 3.9.2で確認したが、stream.parEvalMap(N)(IO)の形でparEvalMapを呼ぶことで並列実行が可能だ。 tl;dr 1つのQueueにデータを入れて、複数のワーカから好きに取出せばよい。 Streamを複数のPipeに分散させるには? FS2の以前のバージョンにはBalanceという要素が用意されていたのだが、機能の統廃合によって消えてしまった。Discordで様子を見るとQueueとWorkerで作れるとのことなので、作ったところ、作れた。 この構成では、パイプラインは3つの要素に分解される。 これから分散して処理しようとするデータを送出
I’m a software engineer and the founder of Rock the JVM. I teach Scala, Kotlin, Java, big data and a variety of tech both live and in online courses. Another long-form by Riccardo Cardin - having started with the Scala with Cats course a while back, he’s now steadily mastering all the critical pieces of the Typelevel ecosystem. Nowadays, modern applications are often built on top of streaming data
純粋関数型の Streaming IO ライブラリ FS2 でいろんなストリームを作ってみる。 はじめに Scala 開発で、http4s や doobie といった関数型なライブラリがもっと使われるようになってほしいのだけど、だんだん普及してきた気がする一方で1、いまいち伸び悩んでる気もする2。 仮にそうだとして理由を考えてみると、関数型プログラミング自体の難度だけではなく、http4s や doobie でも使われている Streaming I/O ライブラリ FS2 の難しさにも一因がある気がしないでもない3。 そこで FS2 入門者向けの記事を書いてみる。Cats/Cats Effect が何となくわかれば読めると思う。 切り口として、そもそもストリームを使うには、まずストリームを得ることができなければいけないので、ここではストリームの作り方だけいろいろ集めてみる。その過程でストリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く