タグ

ブックマーク / kakakazuma.hatenablog.com (2)

  • Play2のPromiseと非同期処理について調査した - サナギわさわさ.json

    PlayFrameWorkはイベント駆動型を基としているため、全ての処理は非同期で実行される事が前提となっています。 これによって単一スレッドで複数のリクエストを捌く事ができます。 非同期のHTTP呼び出しを実現するPlay WS APIを使って外部のWebサイトにアクセスするコードを例にして、非同期処理でクライアントからのリクエストがどう扱われるか見てみます。 非同期処理でのリクエスト挙動 非同期で外部Webサイトにアクセスするコントローラ public class TestController extends Controller { public static F.Promise<Result> nonBlockingUrlAccess() { final String uniqueId = UUID.randomUUID().toString(); Logger.debug("r

    Play2のPromiseと非同期処理について調査した - サナギわさわさ.json
    kimutansk
    kimutansk 2016/03/10
    今どのスレッドプールに属したスレッドでの処理になっているか、というのを見極めるのは重要と。
  • PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json

    (3/15 : タイトル修正しました。wは小文字ですね、すみません・・・) PlayFrameworkが流行り始めてから割と経ちますので、そろそろ正式採用しようと考える方も多いのではないかと思います。 強力な静的型付けで守られたPlayは、ミッションクリティカルなシステムや数万行を超える大規模システムの構築に特に向いているような気がします。 また、Servletを使っていないのに加えてMVC構造がベースなので、今までRailsなどで開発をしていた人でもシームレスに移行できると思います。 しかし、忘れてはならないのがPlayのアーキテクチャが全ての処理が非同期で行われることを前提としているという事です。 ここを忘れてPlayをただの強力な静的型付けで守られたMVCフレームワークとだけ考えて開発を進めてしまうと、番環境で稼動させた時にパフォーマンスが上がらずに困ることになるかもしれません。今

    PlayFrameworkをただの静的型付けMVCだと思って本番稼動させると死ぬ - サナギわさわさ.json
    kimutansk
    kimutansk 2016/03/09
    既存の静的型付けMVCでも全体のスレッドのチューニングは必要なわけでして。Playはレイヤ毎に明示的に分離して対応する必要があるのでその分難しく感じるのは同意ですが。
  • 1