タグ

akkaに関するkma83のブックマーク (24)

  • Play Frameworkアプリの負荷試験を行う前に確認すべきことまとめ | DevelopersIO

    はじめに Play Frameworkを利用してアプリケーションを開発する動機の一つとして「高い負荷に耐えることができる(C10K)」が挙げられます。 しかしながら、たとえPlayを使っていても、チューニングが十分でなければ高いスループットが出るとは限りません。 今回は、300RPS(RPS=リクエスト毎秒)を超えるような負荷をPlayアプリケーションにかける前に確認すべきポイントをいくつかご紹介します。 稿ではPlay Frameworkのバージョン2.4を前提としています。 Playアプリの負荷試験前に確認すべきこと 目次 ExecutionContextが適切に分割されているか 並列実行可能なスレッド数の設定は適切か ログ出力方法は十分考慮されているか (おまけ)Amazon Linuxの設定で配慮すべきもの ExecutionContextが適切に分割されているか Executi

    Play Frameworkアプリの負荷試験を行う前に確認すべきことまとめ | DevelopersIO
  • Akka HTTP

    Tableau Developers Club Season2 /*TableauAPIすべて*/ Tableau Server REST API Wo... 1/24 Tableau Developers Clubで実施したREST APIを活用したワークショップの資料です。 REST APIとは何か? 実際に試してみるためのコードが記載されています。 作成者はシリウスデータサイエンス小今井さんとTableauの飯村さんです。

    Akka HTTP
  • Thread Pools - 2.9.x

    You are viewing the documentation for the 2.9.x release series. The latest stable release series is 3.0.x. Search Home Working with Play Common topics Configuration §Understanding Play thread pools Play Framework is, from the bottom up, an asynchronous web framework. Thread pools in Play are tuned to use fewer threads than in traditional web frameworks, since IO in play-core never blocks. Because

  • Akka HTTPの仕組みを理解する - LINE ENGINEERING

    初めまして、Ads Platform開発チームの岡田(@ocadaruma)です。 この記事はLINE Advent Calendar 2017の17日目の記事です。 今回、個人的に以前から気になっていたAkka HTTPの内部構造について、この機会に調べましたので紹介いたします。 Akka HTTPとは Akka HTTPは、Lightbend社によって開発されている、Scala/Java用のHTTP toolkitです。 現在はメンテナンスが終了したsprayの後継と位置付けられており、特徴的なRouting DSLをsprayから受け継いでいます。 また、Play Frameworkは2.6系より、Akka HTTPをデフォルトのバックエンドとして採用しています。 調査のきっかけ Routing DSLを始めとしたAkka HTTPのAPIは、シンプルかつ高いComposabilit

    Akka HTTPの仕組みを理解する - LINE ENGINEERING
  • PlayFrameworkやAkka HTTPでのスレッドプール分割のススメ - Qiita

    概要 PlayFrameworkやAkka HTTPをつかっていて、うまくパフォーマンスがでなかった経験ありませんか? もしかしたらそれ、スレッドプールをうまく分割できていなかったからかもしれません。 PlayFrameworkやAkka HTTPなど、ノンブロッキングI/Oを前提につくられたライブラリやフレームワークでは、ブロッキングI/Oに十分な注意を払う必要があります。 具体的に言うと、ノンブロッキングI/Oの処理のみを実行するスレッドプールと、ブロッキングI/O(I/O待ちによりスレッドを占有する)を含む処理を実行するスレッドプールは分割し、それぞれ適切に設定する必要があります。 なぜスレッドプールをわけるか ノンブロッキングI/Oはその特性上、I/O待機中にCPUやスレッドを専有せず、他の処理に割り当てることができます。 この特性を活かし、PlayFrameworkやAkka H

    PlayFrameworkやAkka HTTPでのスレッドプール分割のススメ - Qiita
  • Zen of Akka

    This document contains the slides from a talk given by Konrad Malawski on the "Tao/Zen of Programming" using Akka. Some of the key points discussed include: - Actors are meant to work together and each actor should focus on a single responsibility. Having only one actor limits its capabilities. - Actors should be structured in a hierarchy with parent-child relationships to allow for supervision. A

    Zen of Akka
    kma83
    kma83 2018/07/20
  • Akka Actorのメッセージデリバリーの信頼性について - Qiita

    Akka Actor 2.3.9におけるメッセージデリバリーの信頼性のドキュメント、Message Delivery Reliabilityの意訳を公開します。 この内容は、他のメッセージパッシングのライブラリやメッセージキューを採用する際に、Akkaとどのような差があるのかを理解するということや、IDDD(実践ドメイン駆動設計)で紹介されているイベントソーシングを、Akkaでどのように実装するのか、冪等処理モデルの代わりにAkka Persisitenseがどのような処理を利用し、信頼性のあるメッセージングを獲得するのかを理解するために。重要な内容となります。 ですので意訳ではありますが訳を掲載することにしました。もし、英語訳の不備で指摘等ありましたら教えて下さい。 Akkaは、一台のマシンのマルチコアプロセッサーで役立つ"スケールアップ"という概念、と、分散コンピュターネットワークで役

    Akka Actorのメッセージデリバリーの信頼性について - Qiita
    kma83
    kma83 2018/06/30
  • Akka ことはじめ : 起動中の Actor に非同期メッセージを送って本処理のパフォーマンスに影響を与えずバッチ処理をしてもらおう | DevelopersIO

    Akka ことはじめ : 起動中の Actor に非同期メッセージを送って処理のパフォーマンスに影響を与えずバッチ処理をしてもらおう 耐障害性に優れた並行処理が記述できる Akka ですが、皆様はどのような用途で利用しているでしょうか。ストリーム処理、分散システムの構築…様々考えられますが、ここでは「バッチ処理を依頼され、それをこなすワーカー」というシンプルな用途での Akka を考えます。また、アプリケーションの作成に Play Framework を選択した状況を前提とします。Play Framework を使うことで、Play アプリケーションと Akka を統合することができ、アプリケーションの一部の処理を Akka Actor に実行させたり、アプリケーションとは独立して動作する Akka Actor を構築することができます。 ユースケース 以下のような状況です。 ① Con

    Akka ことはじめ : 起動中の Actor に非同期メッセージを送って本処理のパフォーマンスに影響を与えずバッチ処理をしてもらおう | DevelopersIO
    kma83
    kma83 2018/06/30
  • ba065abcb5ee40c150a9

    昨今クラウド環境の充実や API を通して様々なサービスを利用できるようになり、高度なシステムを手軽に構築できるようになった反面、システムの構成が複雑になり様々な障害を引き起こす要因になっています。急なアクセスの集中、ネットワーク障害、ハードウェア障害など、我々が運用するシステムは障害に見舞われる危険に常に晒されています。 このような障害に対処するための設計パターンを @kawasima さんが下記の記事にまとめてくださっています。 安定性のパターン大全 (とその実装) - Qiita このパターンの一部を実現する手段として、Akka というツールキットが利用できます。この記事では、安定性のパターンを引用しながら、Akka がそのパターンの実現にどう役立つのかということをご紹介したいと思います。 そもそも Akka とは何でしょうか? Akka とは何か? https://akka.io/

    ba065abcb5ee40c150a9
    kma83
    kma83 2018/06/30
  • 2014 akka-streams-tokyo-japanese

    Akka Streams (0.7) talk for the Tokyo Scala User Group, hosted by Dwango. Akka streams are an reactive streams implementation which allows for asynchronous back-pressured processing of data in complext pipelines. This talk aims to highlight the details about how reactive streams work as well as some of the ideas behind akka streams.Read less

    2014 akka-streams-tokyo-japanese
  • Akka Throttlerのチュートリアル | Scala Tech Blog

    こんにちは。AMoAdでエンジニアをやっております、西部と申します。 今回は、AMoAdで外部APIを呼んだ時に便利だったAkkaのThrottlerのチュートリアル的な話をしたいと思います。 Akkaってなんぞ?という方は以下の記事をぜひ読んでみてください。 【Akka入門の入門】Part.1 メッセージを送る 【Akka入門の入門】Part.2 アクター子アクター孫アクター 外部API使用する場合、QPSの制限があるケースがありますよね。 この上限ギリギリまでアクセスしたいという場合にThrottlerは威力を発揮します。 簡単な例でご紹介しましょう。3QPSに抑えるケースです。 sbt version := "1.0" scalaVersion := "2.11.8" resolvers ++= Seq( "Typesafe Repository" at "http://repo.t

    kma83
    kma83 2018/06/29
  • Akka stream

    JOSUG2014 OpenStack 4th birthday party in Japan; the way of OpenStack API Dragon JOSUG2014 OpenStack 4th birthday party in Japan the way of OpenStack API Dragon. we provide OpenStack API on "GMO Apps Cloud" known to be capable of providing efficient social Games.

    Akka stream
  • Scala Akka - 2.9.x

    Integrating with Akka Integrating with Akka Main concepts Section introduction Configuration API HTTP programming Asynchronous HTTP programming The Twirl template engine Form submission and validation Working with Json Working with XML Handling file upload Accessing an SQL database Using the Cache Calling REST APIs with Play WS Integrating with Akka Internationalization with Messages Dependency In

    kma83
    kma83 2018/06/20
  • Why modern systems need a new programming model • Akka Documentation

    The actor model was proposed decades ago by Carl Hewitt as a way to handle parallel processing in a high performance network — an environment that was not available at the time. Today, hardware and infrastructure capabilities have caught up with and exceeded Hewitt’s vision. Consequently, organizations building distributed systems with demanding requirements encounter challenges that cannot fully

  • Introduction to Actors • Akka Documentation

    Akka Actors The Actor Model provides a higher level of abstraction for writing concurrent and distributed systems. It alleviates the developer from having to deal with explicit locking and thread management, making it easier to write correct concurrent and parallel systems. Actors were defined in the 1973 paper by Carl Hewitt but have been popularized by the Erlang language, and used for example a

    kma83
    kma83 2018/04/16
  • Akka vs Erlang - Qiita

    Erlang Advent Calendar 2014の22日目です。よろしくお願いいたします。 最近すごいErlangゆかいに学ぼう!を読んだので、Akkaとの違いをまとめてみることにしました。 AkkaもErlangもアマチュアなので正しくない部分があるかもしれません。その場合はご指摘ください。 Erlangは特に素人で、AkkaのactorとErlangのプロセス間でメッセージパッシングしてみたの記事で初めて「-compile(export_all)」でないプログラムを書いたレベルです。 Akkaとは AkkaはErlangにインスパイヤされて制作されたオープンソースのライブラリです。 アクターモデルで並行処理を記述し、スーパーバイザーツリーにより高度な耐障害性を実現し、また分散システムを実装してくれるのを助けてくれる、そのようなフレームワークとなっています。 Java用のAPIとS

    Akka vs Erlang - Qiita
  • Aeron in Artery | Akka

    We are using Aeron as the underlying transport in the new remoting implementation for Actor messages. The Aeron transport is based on UDP but it provides pretty much the same guarantees as TCP when it comes to message order and delivery. It is focused at performance and is more efficient than TCP. Artery is designed from the ground up to support high-throughput in the magnitude of 1 million messag

    Aeron in Artery | Akka
  • Reactive Streamsとは? - たけぞう瀕死ブログ

    Reactive Streamsというのはノンブロッキングなback pressure可能な非同期ストリーム処理の標準的な仕様を提供しようというもので、実装としてはAkka Streams、RxJavaReactor Composable、Ratpackなどがあります。 Reactive StreamsについてはAkkaのコミッタであるKonrad Malawskiさんの以下のスライドがとてもわかりやすいです。 2014 akka-streams-tokyo-japanese from Konrad Malawski ストリーム処理(というか非同期メッセージング全般に言えることですが)では受信側の処理能力を超えるデータを送信し続けるといずれキャパシティを超えてオーバーフローが発生してしまうため、送信側に比べて受信側の処理能力が低い場合は送信側が手加減してデータを送信する必要があります。な

    Reactive Streamsとは? - たけぞう瀕死ブログ
  • Introduction to Akka • Akka Documentation

  • Akkaで始める並行処理(1) - アクターモデルとAkkaの概要 - エンタープライズギークス (Enterprise Geeks)

    概要 近年、コンピュータの CPU はマルチコアが当たり前になった。マルチコアを使うにはマルチスレッドプログラムを扱う必要がある。 また、アプリケーションでは Web サービスなど複数のネットワーク通信を使用することが多くなっている。通常ネットワーク通信は同期処理で行われる。複数のネットワーク通信を同期処理で行うと、通信結果の待ち時間が増えるため処理時間が延びてしまう。処理時間を短縮するためには、通信の非同期化や並列化が必要となる。 マルチコアを使いこなし、かつ複雑なアプリケーションを構築するためには、並行処理を簡単かつ効率的に記述する必要がある。 この連載では、アクターモデルによる並行処理ライブラリ Akka を通して、並行処理を実現する方法を紹介する。 今回はアクターモデルと Akka の概要について述べる。 アクターモデルとは 並列処理を効率的に実現する方法のひとつにアクターモデルが

    Akkaで始める並行処理(1) - アクターモデルとAkkaの概要 - エンタープライズギークス (Enterprise Geeks)
    kma83
    kma83 2018/02/21