システムアーキテクチャ

CQRSについて調べたことをメモ

システムアーキテクチャ

概要 CQRSについて調べたことをメモ。 CQRSとは Command Query Responsibility Segregation CommandとQueryに責務分離するパターン Command データの更新を行う データではなくタスクにフォーカスしたコマンドを設計 DDDのドメインモデルを内包することが想定されている Query データの参照を行う ユースケースごとに最適化されたオ...

CQRS マイクロサービス

Sagaパターンについて調べたことをメモ

システムアーキテクチャ

概要 Sagaパターンについて調べたことをメモ。 Sagaパターンとは マイクロサービスにおいては、分散トランザクション(2phase commitなど)は推奨されていない 分散トランザクションを避け、整合性を担保するパターンとしてSagaパターンがある 長時間のロックを避け、結果整合性を利用する 補償トランザクション 一連のトランザクションの取り消しを行う操作 Sagaパターンでは単純なロ...

マイクロサービス Sagaパターン TCCパターン 分散トランザクション 2phase commit

BFFについて

システムアーキテクチャ

概要 BFFについて調べたことをまとめる。 BFFとは Backends For Frontendsの略。Best Friends Forever(ズッ友だよ)ではない。 ‌ 名前の通り、フロントエンドのためのバックエンドサーバーのことで、フロントエンドのためのAPIやHTMLをレスポンスするなどUI・UXのための役割を担っている。 ‌ クライアント(サーバーの呼び出し側)の多様性に応えるのが難し...

BFF

通知基盤構築についてのメモ書き

システムアーキテクチャ

概要 通知基盤の構築に関してざっくりと考えたことや調べたことなどをまとめておく。 通知基盤とは ユーザーに通知(メール・プッシュ・SMS・音声など)を行うためのシステム基盤。 クライアント(通知を依頼するシステム)からリクエストを受けて、送信先・送信内容など通知に関する処理を担うシステム。 通知基盤の設計・実装における観点 考えることが一杯ありそうだと思ったので、思いついた順で雑に書いた。整理でき...

通知

システム設計関連の資料を読み漁った

システムアーキテクチャ

システム設計関連の資料をいくつか読み漁ったので、リンク集的にまとめておく。 動画系は見れていないものが多い。 あとあんまり関係なさそうなやや離れたトピックに関してのコンテンツも含んでいたりする。 モチベーション なぜ色々と調べてみたかというと、システム設計について体系的に学ぶことができないか知りたかった、学んでみたかったからである。 もっというと、システム設計についての能力を高める糸口が欲しかった...

システム設計

SOAとマイクロサービスとの違いについて整理するために読んだ記事メモ

システムアーキテクチャ

SOAとマイクロサービスの違いについて整理したくなったときに漁った記事の雑メモ。 aws.amazon.com - サービス指向アーキテクチャとは何ですか? www.talend.com - マイクロサービスとSOA:の違い 適したユースケースとは ja.wikipedia.org - エンタープライズ・サービス・バス www.xlsoft.com - API インフラストラクチャ: ESB と...

マイクロサービス

Design Docsについて

システムアーキテクチャ

概要 Design Docsについて調べてみた。 Design Docsとは Design Docsはソフトウェア設計のためのドキュメント。 決まった形式を持たず、プロジェクトにとって意味ある形で書くことをルールとしている Design Docsは開発プロセスにおいて、以下のようないくつかのメリットを持つ。 設計上の課題洗い出し、手戻りの軽減 設計について合意形成 横断的な関心事についての整理・...

Design Docs

bmf-techを支える技術

システムアーキテクチャ

bmf-techを支える技術 このブログ(bmf-tech.com)を支える技術スタックについてかく。 旧bmf-techの構成 まずは現行のbmf-techはよりも1世代前の構成について。 アプリケーションはLaravelをベースとしたモノリシックな構成 APIはPHPで、管理画面はReactでSPAを構築していた 当時触っていた技術を何となく採用しただけ Sakura VPSでホ...

Docker Docker Compose VPS Golang Vue.js prometheus Promtail Loki Grafana Nginx