初めまして、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
squbsというPayPalが作ったライブラリをご存知でしょうか。 github.com Webアプリケーションを構築する際には、色々なフレームワークの選択肢がありますが、Scala/JavaでAkkaを基盤にしたアプリケーションを作りたいなら、このsqubsを試してみると良いかもしれません。 という紹介エントリです。 squbsはReactive Summit 2016で発表もされています。 Back-Pressure in Action: Handling High-Burst Workloads with Akka Streams & Kafka @PayPal from Reactivesummit www.slideshare.net フレームワークでもプログラミングモデルでもAll or Nothingなツールでもない、とのこと。 squbsは色々なモジュールで構成されており、
Scala Advent Calendar 2016の15日目です。 バッチアプリケーションを作ることになったので、Akka Streamsを使おうかと考えました。 Slickだと標準でstreamメソッドが用意されているため、Akka Streamsとも連携させやすいですが、ScalikeJDBCが学習コストが低くて素敵だったので、コレをAkka Streamsに組み込めないか試したエントリです。 DBはMySQLを使う前提ですので、ご注意ください。 (一部Postgresも引き合いにしてますが、OracleやSQL Server等は調べてません。) TL;DR github.com 2017/05/20 追記 ScalikeJDBC 3.0に公式に取り込まれました。 github.com JDBCブロッキング問題 現在、JDBCは同期インタフェースしか提供されていません。 asyncな
Actor では状態を保持するために var を使うことがあります。Actor の receive は並列に実行されることはないため、var でも並列性にまつわる問題に悩まされることはありません。 しかし同一スレッドでも再代入無しのほうが何かと問題が起きづらいですよね。 Actor で状態を表す var は機械的に書き換えて無くすことが出来ます。 次のようなコードがあったときに、 class MyActor extends Actor { private var myState: MyState = 初期状態 override def receive: Receive = { case ... => // 状態を参照して何か処理 myState = 更新された状態 // 状態更新 } } class MyActor extends Actor { override def receive:
Fun.CQRS is a Scala library for building CQRS/ES application. It provides the basic blocks to build event driven aggregates with Event Sourcing. Fun.CQRS provides a out-of-the-box AkkaBackend and a InMemoryBackend for testing. However, it's designed as such that other backend implementations are possible. For instance, an alternative Akka backend based on Eventuate, a Slick backend or RxScala back
超久しぶりのブログ…。 Octopressに疲れたのではてなブログに戻ってきました(Octopressの過去の記事ははてなブログにインポート済です)。ついでプロに移行。 さて、海外のDDDコミュニティではCQRS+Event Sourcing(以下, ES)が人気なのですが、ようやく日本でも話題になることが多くなったので今回は教材となりそうな書籍を簡単に紹介したいと思います。 DDD といえば まず エリック・エヴァンスのドメイン駆動設計 (以下 DDD本) を読むべきですが、CQRSについては記載がないので 実践ドメイン駆動設計 を読みましょう。 実践ドメイン駆動設計 作者: ヴァーン・ヴァーノン出版社/メーカー: 翔泳社発売日: 2015/03/19メディア: Kindle版この商品を含むブログ (2件) を見る さらにDDD本には ES の基礎となる ドメインイベント の解説が含まれ
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
I am truly excited to talk to one of Typesafe's founders and CTO, Jonas Bonér. He's got thoughts on why actors are essentially microservices, and how communication protocols are important both for your Reactive systems and your love life. Listen on Soundcloud Transcript: Tonya Rae Moore: Hello, and welcome to our third Typesafe AMA podcast with our experts. My name is Tonya Rae Moore and I am a Pr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く