SREはインフラエンジニアだけでなく、みんなの活動
みなさんSREしてますか?サービスなどの品質を維持していくために切っても切り離せないSREですが、日本でもSREという言葉が定着しつつあるかと思います。このSREについて書いていきたいと思います。SRE...
View ArticleProto Actor(Go)でスキャッタ・ギャザーを実装してみよう
メッセージパッシングの世界にようこそ。ここしばらくはアクターモデルばっかりやってるおじさんです。アクターモデルといえば、多くの方々はAkka/Pekkoを連想すると思います。pekko.apache.orgakka.ioが、実はGoでも実践に投入できるレベルのものがいくつかあります。proto.actorcloud.ergo.services今回はprotoactor-goを使って、スキャッタ・ギャ...
View ArticleOpenTelemetry + New Relicを使ってGoで作る分散システムのメトリクスを収集しよう
このエントリはスターフェスティバル株式会社の スターフェスティバル Advent Calendar 20233日目、New Relic Advent Calendar...
View Article2023年 買ったギター機材たち
今年は楽器・ギター再熱したこともあって、機材をちょこちょこ買って楽しんでました。買ってとても良かったなぁ、っていうものをピックアップ。Ibanez RG5328 8弦ギターwww.ibanez.comMeshuggahを弾きたくて、そのために買ったと言っても過言ではないんですが、...
View Article2023年振り返り
2023年はあんまりパッとしなかった?いつもの年末振り返り。去年に引き続きブログ等のアウトプットもあまりしていなかったので、振り返りと来年はアウトプットしていくぞ!アウトプット今年もアウトプットは意図的に抑えていました。コミュニティには新陳代謝は必要だと思うので、引き続きいつものおじさんにならないようにCFPなどはほとんど出しませんでした。CloudNative Days Tokyo...
View ArticleGoで実践 アクターモデル はじめに
まえがきアクターモデルといえばErlang、もしくはScala/Javaなどで利用できるAkka/Pekkoがデファクトですが、 Go言語でも不自由なく利用できるProto Actorというツールキットがあります。Akka/Pekkoほど機能はないため いくつかは自分で実装しなければいけません。が、不自由ないくらいに機能が揃っています(筆者はPekkoとともにProto...
View ArticleGoで実践 アクターモデル vol.1 Hello Actor
Hello Actor細かい機能の解説はあとの回として、まずはアクターシステムを使ったプログラミングを体験してみましょう。Goではアクターシステムが商用でも十分利用できるものは、下記のProto Actorとergoがあります。github.comgithub.comProto.Actorは、Akka.NET のオリジナル作成者 Roger Johansson によって開発されているもので、...
View ArticleGoで実践 アクターモデル vol.2 小さなActor アプリケーション
小さなアプリケーションを実装してみよう今回は、前回のhello worldから少しだけアクターについて掘り下げていきます。Proto Actorでの用語で記述しますが、Akka/Pekkoと用語がちょっと異なるだけなので、読み替えてみると良いと思います。構成を考えようアクターは生成(spawn / create)、送受信(send |...
View Article千株式会社の執行役員CTOに就任しました の巻
執行役員CTOに就任しました2024年2月の話ですが、千株式会社の執行役員CTOに就任しました。sencorp.co.jp千株式会社とは以前から繋がりのある会社でして、事業として取り組んでいる領域や、自分自身が課題に感じていて変えていきたい領域と接点も多く、...
View ArticleGoで実践 アクターモデル vol.3 Mailboxを理解しよう
Malboxとは前回まではアクターを使った簡単な実装について解説しました。一般的なWebアプリケーションで利用するHTTPのリクエストレスポンスを中心として考えるものと異なり、情報伝達経路を中心に考えていくように感じられたかもしれません。アクターの情報伝達には...
View ArticleGoで実践 アクターモデル vol.4 メッセージが届かない時に何が起きるか
メッセージが届かない時って?前回はアクターモデルのMailboxにメッセージが届いた時にどの様な仕組みで処理されるかを見ていきました。今回はメッセージが届かない時に何が起きるかを見ていきます。DeadLettersメッセージが届かない時にはDeadLettersと呼ばれるアクターにメッセージが配信されます。この配信はベストエフォートで行われます。通常のHTTPのリクエストレスポンスを中心に扱うアプリ...
View ArticlePHPでアクターモデルを体験 / ツールキット公開とサンプルコードの巻
PHPでアクターモデルが導入できない・・?長い間そう言われてきました(自分も言ってました)。実際に並行システムのためのものでもあり、...
View ArticleGoで実践 アクターモデル vol.5 Supervision 1
はじめに今回は、アクターモデルの監視・監督について説明します。監督は親アクターが子アクターの状態を監督する機能で、監視はアクターモデルをサポートするツールキットの特徴のひとつで、アクターが他のアクターの状態を監視する機能です。一般的なWebアプリケーションフレームワークや、一般的な処理フローからは想像しにくいかもしれませんが、とあるアクターが異常終了した際に監視しているアクターに異常終了自体を通知し...
View ArticlePHPでアクターモデルを使ってES+CQRSを実装してみよう
PHPでES+CQRSPHPで完全なES+CQRSを表現するには、CDC(Change Data Capture)+Outbox形式にするのが定番でした。単純なQueueではリプレイができず、伝播させて終わり、いわゆるEvent...
View Article大吉祥寺.pmに行ってきちぴーナイトパーティーでDJしてきたの巻
吉祥寺に集合だ!kichijojipm.connpass.comということで、今回は家庭的な用事を済ませて本編の後半から参加しました。といってもLTとナカミチさんの発表くらいしか参加できませんでしたが・・・(聞けなかった発表はスライドとかみなさんのつぶやき等を後で追います)LTLTはみなさんとても良かった!いくつかは機会があったらもっと長く聞いてみたい!僕はまだ見ぬ誰かを動かすために登壇をする。sp...
View ArticleGoで実践 アクターモデル vol.6 Supervision / スーパーバイザー戦略
Supervisionの続き前回はアクターモデルの監視・監督について説明していきました。特に親子関係による監視・監督についてはなんとなく理解することができたのではないかと思います。今回は親子関係にないアクター間の監視について触れていきます。blog.ytake.jp.netライフサイクルモニタリングとは前回までの親子の関係とは異なり、各アクターは他のアクターを監視することができます。これまで説明して...
View ArticlePHPを進化させる!PHPだけで並行処理・物理的な分散処理!
PHPだけで分散処理ってできるの?多分皆さんがそう思うはずです。これまでPHPではリソースの操作などで並行処理を利用することはエクステンションなどの介して実現はできていましたが、物理的分かれているPHPに処理を依頼する、結果を戻すなどは Kafkaなどに代表されるようなミドルウェアを介することが一般的でした。そんなPHPですが、...
View ArticleGoで実践 アクターモデル vol.7 ローカルとリモートで分散させてみよう
ちょっと時間が空いてしまいましたが・・これまではローカルのみでアクターを動かす簡単なアプリケーションと、基本的な機能や考え方について解説しました。今回はProto...
View Article日本のソフトウェア関連技術のためになにかできないか?
これは半分ポエムみたいなもんです。CTOをやっているということもあって、少し前からタイトルのようなことをずっと考えていたりしています。日本が劣っているとかそういう話ではなく、ここしばらく欧米や中国などのソフトウェア関連技術や設計関連の発展も目立っており、海外から「日本のソフトウェア技術すごいな・・」と思われるようなことに積極的に取り組んでいきたいなぁと思っています。(感じ方に個人差はありますし、コン...
View ArticlePHPでアクターモデルを使ってCQRS+ESを実装してみよう
PHPでCQRS+ESPHPで完全なCQRS+ESを表現するには、CDC(Change Data Capture)+Outbox形式にするのが定番でした。単純なQueueではリプレイができず、伝播させて終わり、いわゆるEvent...
View Article