5

Martin Fowler のページにあるマイクロサービスに関する記事を読んで、非常に興味深いと思いました。現在、概念実証として E コマース Web アプリケーションの構築を計画していますが、私の概念がマイクロサービス アーキテクチャと見なされるかどうか疑問に思っています。

このアーキテクチャは、次の 3 つのコンポーネントで構成されています。

  • AJAXリクエストをに送信するJavaScriptベースのシングルページアプリケーション
  • 他のサービスを呼び出して受け取った JSON データをフィードする REST API を備えたサーバー (この動作を API Gateway と呼んでいると思います)
  • 3 つのサービス: CatalogProvider、CustomersProvider、CheckoutProvider

今のところ、サービスはすべて Magento (PHP) Shopsystem の API エンドポイントです。将来的には、プロバイダーを他のシステムと交換する予定です。

だから私の質問は:

  • MS は「独立して配備可能」であると見なされます。JAVA の世界では 1 つの JAR ファイルまたは WAR ファイルについて話していることは理解していますが、PHP サービスはどのように「独立してデプロイ可能」でしょうか?

  • プロバイダーはすべて 1 つの大きな (Magento) システムの一部であるため、私のコンセプトは MS アーキテクチャの原則に従っていませんか?

読んでくれてありがとう。どんな提案でもうれしいです。

4

2 に答える 2

9

Magento と PHP を使用しているからといって、アーキテクチャが MS アーキテクチャではないということはありません。ただし、いくつかのことを考慮する必要があります。

  • 任意のサービスを任意の言語でいつでも書き直し、システム全体が機能し続ける場所に展開できるという観点から考えてみてください。

あなたのサービスが単なる変換/インターフェイスであり、magento に非常に密接にリンクされており、Java/C#/ruby で簡単に書き直すことができない場合は、MS アーキテクチャを持っていないと思います。

PHP でデプロイ可能なアーティファクトの場合、通常、サービスに関するパッケージ化またはバージョン管理の戦略があります。PHP での「デプロイ」は通常、.php ファイルのフォルダーを交換するだけです。また、異なるサービス間でコード/構成を実際に共有するべきではありません。追加の手順を実行したい場合は、PHP の展開ツールを調べることもできます。

于 2015-01-10T15:42:36.253 に答える
1

マイクロサービス アーキテクチャに関しては、SRP の原則があります。単一の責任の原則です。各サービスには独自の責任があります。DB スキームも分解する必要があります。モノリシック アプリをマイクロ サービス アプリケーションに変換するのではなく、サービスをモノリシック アプリ内のレストとしてエクスポートします。

于 2015-08-28T10:50:13.873 に答える