設計

PHPでアクターモデルを体験 / ツールキット公開とサンプルコードの巻

PHPでアクターモデルが導入できない・・? 長い間そう言われてきました(自分も言ってました)。 実際に並行システムのためのものでもあり、 PHPでは簡単な並行処理以外は難しくもありました。 ja.wikipedia.org PHP主体の方はOOPに慣れ親しんでいると思いま…

Goで実践 アクターモデル vol.4 メッセージが届かない時に何が起きるか

メッセージが届かない時って? 前回はアクターモデルのMailboxにメッセージが届いた時にどの様な仕組みで処理されるかを見ていきました。 今回はメッセージが届かない時に何が起きるかを見ていきます。 DeadLetters メッセージが届かない時にはDeadLettersと…

Goで実践 アクターモデル vol.3 Mailboxを理解しよう

Malboxとは 前回まではアクターを使った簡単な実装について解説しました。 一般的なWebアプリケーションで利用するHTTPのリクエストレスポンスを中心として考えるものと異なり、 情報伝達経路を中心に考えていくように感じられたかもしれません。 アクターの…

Goで実践 アクターモデル vol.2 小さなActor アプリケーション

小さなアプリケーションを実装してみよう 今回は、前回のhello worldから少しだけアクターについて掘り下げていきます。 Proto Actorでの用語で記述しますが、Akka/Pekkoと用語がちょっと異なるだけなので、 読み替えてみると良いと思います。 構成を考えよ…

Goで実践 アクターモデル vol.1 Hello Actor

Hello Actor 細かい機能の解説はあとの回として、 まずはアクターシステムを使ったプログラミングを体験してみましょう。 Goではアクターシステムが商用でも十分利用できるものは、 下記のProto Actorとergoがあります。 github.com github.com Proto.Actor…

Goで実践 アクターモデル はじめに

まえがき アクターモデルといえばErlang、もしくはScala/Javaなどで利用できるAkka/Pekkoがデファクトですが、 Go言語でも不自由なく利用できるProto Actorというツールキットがあります。 Akka/Pekkoほど機能はないため いくつかは自分で実装しなければいけ…

OpenTelemetry + New Relicを使ってGoで作る分散システムのメトリクスを収集しよう

Goで簡単に分散システムを作りながらNew Relicを使ってしっかりとメトリクス収集していきましょう、という内容をお届け

Proto Actor(Go)でスキャッタ・ギャザーを実装してみよう

メッセージを扱ったシステムでは必須のテクニックの一つ、スキャッタ・ギャザーを実装してみましょう!Goを使ってアクターモデルを学びます。

SREはインフラエンジニアだけでなく、みんなの活動

SREはインフラエンジニアだけではなく、みんなの活動なのではないかという話を書きました みんなでやろうSRE!

技術的負債と向き合うための取り組みでよかったもの例

技術的負債はどこにでもある タイトルにあるように、 いくつかの開発チームと一緒に技術的負債を改善する開発や、それらに関する活動を行うことが多く いろんな取り組みをしていく中で、よかったことがいくつかありました。 もちろん技術的負債を返すのは数…

現状と向き合ってシステムを考える時の頭の中

とても長い文章ですけど、現状と向き合ってシステムを考える時の頭の中をちょっとだけ。 うまく文章化されてませんが 一つの物事をいろんな角度で見てみる話。