タグ

akkaに関するlilpacyのブックマーク (8)

  • Playframeworkで定期実行させる - akka-quartz-schedulerを使う - Qiita

    こんにちは、t_hirohataです。 最近PlayFrameworkで、指定した時間に処理を動かすプログラムを書いたので そこで使ったライブラリをちらっとご紹介します。 元記事はこちら 今回ご紹介するのは、akka-quartz-schedulerというライブラリで、 cronのような書き方でスケジュールを設定できるというものです。 (※このライブラリはAkkaを使うので、Akkaの知識が多少必要になります。) このライブラリを使うにはbuild.sbtに追加する必要がありますが、 Akkaのバージョンによって追加するものが異なるので、こちらを参考に追加すると良いです。 それでは早速使ってみたいと思います! 追記 この記事ではPlay2.3を使用しています。 Play2.4ではGlobalオブジェクトがdeprecatedになったので、ApplicationLifecycleを使うように

    Playframeworkで定期実行させる - akka-quartz-schedulerを使う - Qiita
  • なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか?

    なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか? (この記事は Why you can have millions of Goroutines but only thousands of Java Threads の翻訳です) 経験のあるエンジニアならば JVM 言語で次のようなエラーを見たことがあるでしょう。 [error] (run-main-0) java.lang.OutOfMemoryError: unable to create native thread: [error] java.lang.OutOfMemoryError: unable to create native thread: [error] at java.base/java.lang.Thread.start0(Native Method) [erro

    なぜ Go では何百万もの Goroutine を作れるのに Java は数千のスレッドしか作れないのか?
    lilpacy
    lilpacy 2021/03/24
    スレッドとゴールーチンの違い
  • リアクティブプログラミングにおけるPlay、Akka、Akka Streams

    前回記事では、Lightbend Platformを構成する各プロダクトについて紹介しました。今回はLightbend Reactive Platformを構成するPlay framework、Akka、Akka Streamsについて、実際にサンプルを動かしながら解説します。 なお、稿のサンプルプログラムを動かしたい場合、前回記事にセットアップ方法を記述してあるので、それを参考に環境を作成しておきましょう。 リアクティブプログラミングにおけるPlay framework ここではPlayのプロジェクトを作成し、ソースコードの内容について解説します。 sbtとは、Giter8とは なお前回記事では、「Activator ui」を使用してプロジェクトを作成しましたが、Activator uiはEOLを迎えることになっています。 現在は「sbt」「Giter8」の使用が推奨されているので、そ

    リアクティブプログラミングにおけるPlay、Akka、Akka Streams
  • リアクティブプログラミングにおけるPlay、Akka、Akka Streams

    リアクティブプログラミングにおけるPlay、Akka、Akka Streams:リアクティブプログラミング超入門(3)(2/2 ページ) Reactive StreamsのAkka実装「Akka Streams」とは 現在のWebでは膨大な量のデータをリアルタイムでやりとりしています。こういったデータは普通にダウンロード/アップロードしていては時間がかかり過ぎてしまうので、ストリーム処理(無限に発生するデータを継続的に処理する仕組み)が必要になります。 例えば、下記などはストリームが妥当な処理方法です。 テラバイト級ファイルの処理(メモリに展開し切れない) 通信処理(処理が継続的に発生し続ける) Stream処理では、受信側(Subscriber)が処理しきれないデータを送信し続けるとバッファーがあふれてしまうため、送信側(Publisher)がデータを送り過ぎないようにする必要があります

    リアクティブプログラミングにおけるPlay、Akka、Akka Streams
  • Akka Streamsで実装するリアクティブストリーム

    今回と次回の2回に分けて、Akka Streamsを使って実装するリアクティブストリームについて解説する。 はじめに 前回と前々回の2回で、Akkaでレジリエントなシステムを構築するためにAkka Clusterを使ってクラスタを組む方法を紹介しました。単に処理能力の向上を目的に並列化/分散化の手段としてAkkaを利用するだけでなく、障害に強く可用性の高いシステムを構築するための手段としても有効であることがおわかりいただけたでしょう。 今回と次回の2回に分けて、連続して発生し続けるデータを処理する「ストリーム処理」をAkkaで実現する方法を紹介します。Akkaではストリーム処理を実装する拡張機能として、「Akka Streams」が提供されています。Akka StreamsはJava 9の新機能として注目される「リアクティブストリーム」を実装したライブラリです。最初に リアクティブストリー

    Akka Streamsで実装するリアクティブストリーム
  • Scala + Akka Streamで既存のバッチを10倍以上速くした話 - Qiita

    完了まで約2時間半かかっていた既存のバッチ処理を、最近興味があったReactiveでリプレイスして10分以内に完了するようにした時の躓きポイントのまとめ Scala/Akka Streamをチョイスした理由は、下記のスライドに触発されたのと、Spark on EMRを触っていてScalaに躓いていたのでScalaともう少し友達になりたかったからです。 バッチを Akka Streams で再実装したら100倍速くなった話 #ScalaMatsuri from Kazuki Negoro システム概要 処理概要 MariaDBから処理対象のデータIDを取得 idから必要となるデータを取得して、JSONを生成 ElasticSearchのBulk APIでデータ投入 ElasticSearchのAlias切り替え 1〜3を繰り返す サーバ EC2(vCPU 4コア) 既存システム概要 PHP

    Scala + Akka Streamで既存のバッチを10倍以上速くした話 - Qiita
  • Akka StreamsでMySQLからデータを取得してCSVに書き出す | DevelopersIO

    こんにちは。山崎です。 MySQLのデータをCSVに書き出すバッチ処理をAkka Streamsで実装する方法を紹介します。 Akka Streamsとは ノンブロッキングなバックプレッシャ付きの非同期ストリーム処理の標準を定めるReactive StreamsのAkkaを使った実装です。 Akka Streamsに関しましては、こちらの記事に詳しくまとまっていますのでご覧ください。 実際にコードを書いてみる 今回は「商品の情報をDBから取得しCSVファイルに書き出す」という例で実装していきます。 処理は3つの部品から構成されます DBから商品の情報を取得するSource 流れてきた商品情報をCSVの1行分に変換するFlow ファイルに流し込むSink これらの部品を実装してつなげることで処理を実装します。 実際にコードを見ていきましょう。 依存関係 今回使用するライブラリをbuild.s

    Akka StreamsでMySQLからデータを取得してCSVに書き出す | DevelopersIO
  • KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG

    計測プラットフォーム部バックエンドチームの鈴木です。 この記事では、Akka gRPCを利用しているScalaアプリケーションのZOZOMATに対してKamonを通じてAPMを導入した際に得られた知見、うまくいかなかった内容やその対応策を紹介します。 Akkaとは 最初にAkkaについて簡単に紹介します。Akkaは、JVM上で並行および分散アプリケーションの構築を容易にするツールキットとランタイムです。 Actorモデルの実装であるAkka Actorsを中心とし、Akka StreamsやAkka HTTP、Akka Clusterなど様々なツールが提供されています。詳しくは公式ドキュメントやAkka実践バイブルを読むことで深く理解できます。書籍で紹介されているAkkaのAPIは、今では古いものとなっていますが、Akkaの楽しさを知るにはとても良いです。 私たちが開発しているZOZOM

    KamonによるAPM導入 - Akka gRPCを用いたScalaアプリケーション編 - ZOZO TECH BLOG
  • 1