DDD+CQRS+Event SourcingとAkkaでの実装ヒントを解説。
ScalaのアクターライブラリであるAkkaでは今までHTTPがIOパッケージでサポートされてきませんでした。HTTPのサポートはAkka Streamの開発とともになされたのです。なぜアクターモデルとHTTPをすぐ統合せずにStreamの登場を待つことになったのか?この疑問に答えることはアクターの問題を考えるよい題材です。 Sprayの革新とその限界 SprayはAkkaのアクターモデルとHTTPを統合して成功したフレームワークです。SprayはJVMベースのフレームワークの中で最高のパフォーマンスを誇りました。SprayはServletがもつがスレッドの高速性と、NodeJSがもつイベントループによる大量のリクエストを効率的に捌くことの特性の両立を、アクターによって可能にしたのです。 ところがSprayはアクターモデルならではの問題とも戦うことになります。Reactive Manife
Written by Soichiro Yoshimura Translated by Eugene Yokota Download Japanese Version PDF (1MB) About Niconico Niconico is among the most popular video sharing websites in Japan. At the time of its launch in 2006, it was called Niconico Douga (means smiling videos). The most distinctive feature is its commenting, which allows the users to post comments along the time axis of the broadcasted videos.
この記事は Scala Advent Calendar 2014 の 15 日目です。昨日は id:qtamaki さんの”「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる”でした。 今日は、先日に Tumblr が OSS 化を発表した Scala 製のノンブロッキング I/O (NIO) フレームワーク "Colossus" を紹介したい。”高性能なマイクロサービスを構築するためのフレームワーク”を謳っており、まだ OSS 化されて日が浅いものの Tumblr ではすでに production で使われているとされる。また、Colossus 自体がアクターフレームワーク Akka のアクターとして実装されており、それを使った独自のスレッドモデルを提供している点も興味深い。 Colossus Colossus: A New Service Framework
Distributed Consensus A.K.A. "What do we eat for lunch?" Distributed Consensus is everywhere! Even if not obvious at first, most apps nowadays are distributed systems, and these sometimes have to "agree on a value", this is where consensus algorithms come in. In this session we'll look at the general problem and solve a few example cases using the RAFT algorithm implemented using Akka's Actor and
akka-persistence.md akka-persistenceのプラグインをつくろう 僕はおくみん @okumin 参考 Persistence — Akka Documentation Akka persistence is 何 Actorの内部状態をストレージへ保存するもの 保存方法はJournalとSnapshotの二種類 Journalは更新イベントを1つずつ発生した順番に保存する MySQLのバイナリログやRedisのAppend Only Fileようなイメージ 更新イベントを最初から最後まで順番に適用していけば、元の状態が復元できる Snapshotはその時点でのActorの状態を直接保存する mysqldumpやRedisのRDB snapshotのようなイメージ ある時点tまでのデータはSnapshotから、残りのデータはJournalから取り出すことでリカバリ
This document provides an overview of effective actor modeling techniques. It discusses actors as isolated, concurrent processes that communicate through asynchronous message passing. It provides examples of how to model domains and worker supervision hierarchies using Akka actors and routers. It also discusses techniques for introducing parallelism by creating multiple actor instances and distrib
!!!CAUTION!!! この記事で扱っている IO のインターフェイスは Akka 2.2 で すでに old-io 扱いとなり( http://doc.akka.io/docs/akka/2.2.0/scala/io-old.html )、Akka 2.3 からは削除されてしまっています。 今ならばこちらを参考にされたほうがいいでしょう。 I/O まわり: http://doc.akka.io/docs/akka/2.3.7/scala/io.html TCPのハンドリング:http://doc.akka.io/docs/akka/2.3.7/scala/io-tcp.html 本文 akka というのは Scala で Actor モデルを実現するためのライブラリだと思えばいいっぽい。この記事を読むためには case class とパターンマッチとアクターモデルについての知識が最低
akkaをある程度使いこなしてる人なら、当たり前?かもしれませんが、その細かい仕組みがわかりずらいと思うので説明を書いてみます。(versionによってそれほど変わらないはずですが)これを書いてる時点の最新の akka 2.3.4、Scala 2.11.2 としておきます。 akkaの公式ドキュメントに以下の様な例と説明があります http://doc.akka.io/docs/akka/2.3.4/scala/actors.html import akka.actor.Props val props1 = Props[MyActor] val props2 = Props(new ActorWithArgs("arg")) // careful, see below val props3 = Props(classOf[ActorWithArgs], "arg") そこの「careful
I started my first Hadoop-based, Big Data projects four years ago. As an experienced Enterprise and Internet developer with a love of Scala, it was frustrating to find that writing Hadoop jobs was hard to do in the tedious, low-level MapReduce API. The powerful, functional programming operations we know and love in Scala’s collections were absent. The object orientation of Java at the time (before
Webinar: Akka 24.05 release highlights Tyler Jewell, CEO, Jonas Boner, founder and CTO, and Michael Nash, CISO, delve into the value and power of these new features and enhancements. Q&A to follow. Lightbend aims to democratize distributed systems for developers Tyler Jewell, CEO of Lightbend, talks about some of the key challenges developers are up against with distributed systems and how Lightbe
Today we are excited to reveal early preview releases of two major projects the Akka team has been involved in to improve data streaming on the JVM: Akka Streams and Reactive Streams. While the projects are related, we would like to spend a little time discussing how each is important to Typesafe and the Akka community. Both of these efforts address major challenges we have been seeing from develo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く