ソフトウェアパターンの一種で、特にソフトウェアのアーキテクチャ (構造) に関するもの。
Layersパターン、MVCパターン、PACパターン等がある。
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系 http://www.kindaikagaku.co.jp/bookdata/ISBN4-7649-0283-4.htm に詳しい。
Findyさんプレゼンツのセミナー「成瀬さん直伝!2024年最新アーキテクチャトレンドとユースケースを徹底解説」に参加しました。 findy.connpass.com ランチタイムに開催される勉強会ということで参加しやすくて助かりますね。感謝です。 なぜ参加したのか エンジニア関連の情報を集める際に「マイクロサービス」とか「モノリス」なんて言葉が行き交っているもんですから、言葉の意味ぐらい知れないかなーというレベルの興味でした。 イベントページを見てみたら「ドメイン駆動設計入門」著者の成瀬さんがスピーカーでもありますし、未経験〜ジュニアレベルでざっくりとしたお話が出てくるんじゃないかと期待して…
背景 1つのマイクロサービスを開発する中で、レガシー環境のCMSにアクセスしてコンテンツを取得する要件が出てきた。 その際に、CMSのresponse形式を指定できず、アプリ側でHTMLをパースしてjsonにする処理が必要になり、その責務をどこに持たせるか?という話 理想 そもそも、理想としてはCMS側がjson形式で返せるように改修するのが理想。 とはいえ、リプレイスが決まっており、かつレガシー環境につき開発コストをそこにかけるのが妥当とは思えないので、他の選択肢を検討している。 パターン① 各MS側に処理を持たせる 愚直に考えたら、これがまず思いつくと思う。 各MS側でCMSにリクエストし…
ヘキサゴナルアーキテクチャについて理解を深めるために調べたので内容をメモする。 ヘキサゴナルアーキテクチャとは 概要 キサゴナルアーキテクチャの提唱者であるAlistair Cockburn氏の記事(2005年のものと思われる)が和訳されていたので、このセクションでは主にこの和訳記事を要約している。 ヘキサゴナルアーキテクチャ(Hexagonal architecture翻訳) | blog.tai2.net ビジネスロジックがユーザーインターフェイスコードに侵入するのを防ぐためにPorts and Adaptersパターンを採用するアーキテクチャ。MVCやレイヤードアーキテクチャが持つ課題を…
この記事の説明 アーキテクト同士の会話で出現するキーワードとその意味を集めました。 例)結合(動的、静的)、アーキテクチャ量子、通信方式など アーキテクチャ用語集 コンポーネント サービス 結合 静的結合 動的結合 結合を取り巻くトレードオフ 結合のトレードオフは厄介な問題 トレードオフの分析手法 アーキテクチャ量子 アーキテクチャ量子が重要な理由 独立してデプロイ可能 高度な機能的凝縮 高度な静的結合 サービスベースアーキテクチャの量子数 イベント駆動アーキテクチャの量子数 マイクロサービスアーキテクチャの量子数 動的な量子結合 結果整合性とは? 通信方式 同期通信 非同期通信 調整方法 オ…
スペースベースアーキテクチャが解決する課題 スペースベースアーキテクチャの概要 スペースベースアーキテクチャの構成要素 スペースベースアーキテクチャの処理ユニット アプリケーションコード インメモリデータグリッドとレプリケーションエンジン サンプルコード Hazelcastの仕組みについて 仮想メモリ内部のデータグリッド 仮想ミドルウェア メッセージンググリッド 処理グリッド デプロイメントマネージャー データポンプ データライター データリーダー スペースベースアーキテクチャの具体例 備考 スペースベースアーキテクチャが解決する課題 ほとんどのWebアプリケーションは、次のような一般的なリク…
イベント駆動アーキテクチャ - ブローカータイプ - イベント駆動アーキテクチャのブローカータイプの実装方法 ブローカータイプの構造 ブローカータイプのメリット ブローカータイプの開発事例例 イベント駆動アーキテクチャ メディエイターパターンとは イベントメディエイターの実装方法 イベント駆動アーキテクチャのエラー処理 AWSでイベント駆動アーキテクチャを実装すると... イベント駆動アーキテクチャの総評 備考 参考 「FundamentalsOfSoftwareArchitecture.md」という記事を参考にしてます。 https://github.com/zhangjunhd/readi…
概要 マイクロカーネルアーキテクチャは別名、プラグインアーキテクチャと呼ばれている。 コアシステムとプラグインの二つのコンポーネントで構成される比較的シンプルなアーキテクチャであり、アプリケーションのカスタムロジックの結合と分離を実現している。 プラグインアーキテクチャの用途は大きく分けて2種類あり、 パッケージ化され、単一のモノシリックなアプリとしてダウンロードされてインストールできるようなアプリケーション カスタムビジネス(国ごとのローカライズが発生するなど)アプリケーション このいずれかで使用される。 今回は前者の意味合いで(ダウンロードして使用するタイプのアプリケーションで)解説する。…
この記事の内容:ソフトウェアアーキテクチャの概要と選択 参考:fundamentals of software architecture pdf アーキテクチャを学ぶ意味 アーキテクチャとは アーキテクチャスタイルを覚える意味 見習うべきではないスタイル:巨大な泥団子 補足:なぜアーキテクチャを決めるのか? 基本的なアーキテクトスタイル一覧 アーキテクチャを選択する アーキテクチャの選択:モノシリックアーキテクチャと分散アーキテクチャ モノシリックアーキテクチャと分散アーキテクチャのメリットデメリット アーキテクチャ一覧 小規模かつ低予算:レイヤードアーキテクチャ とにかくシステムの拡張性を高…
個人開発(趣味プロジェクト)でプロダクトを作りながら, 本職の仕事でソリューションアーキテクトっぽいことをしているマンです*1. 最近は個人開発のネタとして, プロ野球選手の成績予測プロジェクト ヘルスケア周りの自分専用プロダクト開発 この2本軸で週末エンジニアリングをしているのですが, これらの事をしているうちに, Webアプリケーション + 分析用のデータ基盤の最小セット, みたいなパターンが見えてきた クラウドにおけるサービスの選び方・スケール(=拡張)するときに気をつけるべき勘所 みたいなのがまとまってきました. せっかくなので, 言語化した上で再現性をもたせよう!という主旨でこのエン…
大規模災害が起こった時の災害対策パターン、基本的なことだけど名前も含めて忘れがちになるので備忘のためにまとめておきます。 前提でわかっておきたいRTO / RPO RTO(Recovery Time Objective / 目標復旧時間) RPO(Recovery Point Objective / 目標復旧時点) 【本題】災害復旧のためのパターン バックアップ&リストア RTOとRPOについて コールドスタンバイ / パイロットライト RTOとRPOについて ウォームスタンバイ RTOとRPOについて ホットスタンバイ / マルチサイト RTOとRPOについて パターンまとめ 前提でわかって…