2017-09-24 1 views
2

私は12因子のアプリの原則を見ていて、この声明を見ました。この声明では、アプリケーションがデータベースやメッセージブローカーなどのバッキングサービスに応答し、その内容に関係なくアプリケーションに接続する必要があると述べています。従来の接続方法とはどのように違いますか?たとえば:私のマイクロサービスでは、クラウドファウンドリでユーザー提供のサービスとしてデータベースとkafkaブローカーを定義しました。これは、接続パラメータをvcapサービス変数として提供するだけです。私はまだ完全に異なるデータベースとkafkaブローカーに接続するコードを持っています。この声明は何を意味し、非雲環境で私たちが行うこととはどのように異なるのですか?添付のリソースとしてのサービス

答えて

1

以下の記事で述べたように:バッキングサービスはアプリが通常の操作の一環として、ネットワークを介して消費するサービスです

https://12factor.net/backing-services

これは、と述べています。例には、データストア(MySQLやCouchDBなど)、メッセージング/キューイングシステム(RabbitMQやBeanstalkdなど)、アウトバウンド電子メール(Postfixなど)用のSMTPサービス、およびキャッシュシステム(Memcachedなど)が含まれます。

マイクロサービスは、プラットフォームに関係なくバッキングサービスに接続できます。 PCFでは、接続するマイクロサービスにサービスをバインドしています。他のクラウド環境では、AWS RDSやプラットフォームが提供する他のサービスのようなバッキングサービスを指すことができます。

本当の違いは、このです:データベースのような

バッキングサービスは伝統的に、アプリケーションの実行時の配備と同じシステム管理者によって管理されています。これらのローカル管理サービスに加えて、アプリは第三者によって提供され、管理されるサービスを持つことがあります。リソースは自由にアタッチしてデプロイすることができます。たとえば、ハードウェアの問題によりアプリケーションのデータベースが誤動作している場合、アプリの管理者は最近のバックアップから復元された新しいデータベースサーバーを起動させる可能性があります。現在の本番データベースを切り離し、新しいデータベースを追加することができます。

+0

ありがとうございますBarath –

関連する問題