タグ

マイクロサービスとアーキテクチャに関するten-gallon-Mouseのブックマーク (6)

  • Modular Monolith(モジュラーモノリス)についてまとめる

    モジュラーモノリスについて 目次 モジュラーモノリスとは メリット デメリット・課題 採用例・実装例 必要・向いているケース 不必要・向いていないケース そもそもマイクロサービス メリット デメリット・課題 マイクロサービスを選択する理由 マイクロサービスを採用すべきでない時 とりあえずまとめ そもそもモノリス デメリット・課題 モノリスの種類 参考 モジュラーモノリスとは モノリスからマイクロサービスへでは単一プロセスのモノリスのサブセットと紹介 独立して作業が可能なモジュールで構成され、デプロイ時に結合 モノリスアプリケーション内で、ドメインモデル等を単位としてモジュールに分解し、モノリスのように1つのデプロイパイプラインだけを持ちつつも、マイクロサービスのようにシステムのモジュール化・独立性を両立 マイクロサービスアーキテクチャの場合OrderサービスやPaymentサービス等が独立

    Modular Monolith(モジュラーモノリス)についてまとめる
    ten-gallon-Mouse
    ten-gallon-Mouse 2023/10/12
    “まり、組織はパフォーマンスを犠牲にして、運用上のメリットのためにマイクロサービスを採用しているのです。また、マイクロサービスをサポートするために必要なインフラを維持するためのコストも負担しなければな
  • [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita

    こんにちは、べログシステム部長の京和です。 エントリでは Shopify の Engineering Blog から、Kirsten Westeinde による「Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity」を翻訳して掲載します。 べログではユーザーや飲店に価値を届けるスピードを最大化するべく、マイクロサービス化などをはじめとしたこれまでの組織やアーキテクチャを刷新するための取り組みを始めています。しかし、マイクロサービスはアプリケーションアーキテクチャとインフラアーキテクチャが複雑に絡み合ったシステムで技術的難易度が非常に高く、適切に構築できなければ「分散されたモノリス」と呼ばれるアンチパターンに陥ります。1 Shopifyではマイクロサービスではなく、

    [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita
  • TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた | Wakatchi Tech Blog

    こんにちわ、サイト管理者のわかっち (@wakatchi_tech) です。 質問者 マイクロサービスでシステム作ったらトランザクション管理がしんどいです。 こんな質問をいただきました。 マイクロサービスアーキテクチャでシステムを構築した際、更新対象が複数のサービスをまたがる場合は、トランザクションの扱いが途端に難しくなります。なかでも、障害発生時に各サービス間の処理をロールバックするためには補償(補正)トランザクションが必要になり、複雑なトランザクション制御が求められます。 補償トランザクションとは、処理の途中で失敗した場合に、それを取り消すことで実行結果を打ち消す処理のことです。補償トランザクションの実装は、打ち消す処理を提供するサービスと、それを呼び出すサービスの双方に負担があり、設計や実装が複雑になりがちです。 トランザクションには、1つのトランザクション内で1つのリソース(DB

    TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた | Wakatchi Tech Blog
  • TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた - Qiita

    はじめに UL Systems Advent Calendar 2018の10日目です。 マイクロサービスアーキテクチャでシステムを構築した際、更新対象が複数のサービスをまたがる場合は、トランザクションの扱いが途端に難しくなります。なかでも、障害発生時に各サービス間の処理をロールバックするためには補償(補正)トランザクションが必要になり、複雑なトランザクション制御が求められます。補償トランザクションとは、処理の途中で失敗した場合に、それを取り消すことで実行結果を打ち消す処理のことです。補償トランザクションの実装は、打ち消す処理を提供するサービスと、それを呼び出すサービスの双方に負担があり、設計や実装が複雑になりがちです。 トランザクションには、1つのトランザクション内で1つのリソース(DBなど)処理のみ行うローカルトランザクションと、1つのトランザクション内で複数のリソース処理を行うグロー

    TCCパターンとSagaパターンでマイクロサービスのトランザクションをまとめてみた - Qiita
    ten-gallon-Mouse
    ten-gallon-Mouse 2020/10/26
    “Sagaパターンは、ロールバックを行うことができない代わりに、補償という考え方を提供しています。ロールバックを行うことができないので、代わりにインタラクションの操作を逆向きにした取り消し操作により、擬似
  • Microservices分割大全 - kawasima

    Microserviceの分割の仕方について語られているものを収集します。 microservices.ioのサイトに載っている分割パターンは4つ。ただし「自己完結型サービス」と「チームごとのサービス」は、直交していないので大きくは「ビジネスケイパビリティでの分割」と「サブドメインでの分割」の2つ。 ビジネスケイパビリティでの分割 https://microservices.io/patterns/decomposition/decompose-by-business-capability.html 現在の業務機能にしたがってサービスを分割する。 したがって、コンウェイの法則にしたがった分割とされる。 サブドメインでの分割 https://microservices.io/patterns/decomposition/decompose-by-subdomain.html DDDのサブドメ

    Microservices分割大全 - kawasima
  • モノリスの分解において、マイクロサービスは必然ではない - QCon LondonにおけるSam Newman氏の講演より

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    モノリスの分解において、マイクロサービスは必然ではない - QCon LondonにおけるSam Newman氏の講演より
  • 1