は彼女がサービスの名前にバージョンを組み込むことについて、またはエンドポイントの名前に話していなかったことをあなたはよろしいですか? バージョン管理されたget_order_2_4_1のエンドポイントを持つOrderProcessing_2_4_1というサービスは非常に悪い考えです。バージョン管理されたget_order_2_4のエンドポイントを持つOrderProcessing_2_4は少し悪くはありませんが、まだ問題があります。
マイクロサービスへの呼び出しで名前にバージョン番号を持つエンドポイントを指定する必要がある場合は、サービスを変更するたびにメンテナンス(および制作)の悪夢があります。他のすべてのサービスとクライアントは、更新されたサービスへの参照を変更するためにチェックする必要があります。
これは、APIのコード、コードサービスと異なる点です。実際にマイクロサービスの利点の多くを得ようとしている場合は、これらが必要です。
お客様のオーケストレーション機能は、クライアントのバージョン要件(バージョン2.6.2のクライアント「Enter New Order」アプリケーションは、少なくとも「バージョン2.4」以上のサービス「OrderProcessing」を必要とします)に合った正しいバージョンのサービスを見つけることができなければなりません。 NATO製品分類をサポートするために0)。
同時に複数のバージョンのサービスを運用することがあります(2.4.0は廃止されましたが、依然として一部のクライアントに対応しています。2.4.1が導入されています。GAの前に最新のUIと機能をテストしている顧客の場合は0です)。
これは、24時間365日実行し、サービスを動的に更新する必要がある場合に特に当てはまります。 オーケストレーション機能は、サービスとエンドポイントが一致する場所で、新しいバージョンのサービスを導入するときには、オーケストレーションデータベースを更新して、必要な他のサービスのバージョンを記述します。 (OrderProcessingの私の新しいバージョン2.4.1では、製品データにNATO製品分類が追加されたため、バージョン2.2.0以降のProductManagerが必要です)。
出典
2017-12-28 10:04:01
Ron
Afaikは、すべての主要ベンダー(Google、Facebook、Twitter、アマゾン)がAPIにかなり人気のあるapisとバージョンを持っています。私はまだそれが反パターンである理由を理解していません。彼女が「私たちの組織は面倒ではない、あるいは役に立たない」と言うかどうかはわかりますが、反パターンはまったく異なります。あなたのマイクロサービスアーキテクチャはどのようなものですか?バージョンはありますか? –
バージョン管理は反パターンではないため、バージョンを変更することはできません。彼女が見たのは、バージョンの変更が反パターンの場合、バージョン管理を削除して問題を解決できるということです。このようなことの多くは意見です。あなたの腸に行って、それが問題につながるならば、それに対処してください。私は今あなたが十分なアドバイスを集めていて、話題についてよく読んでいると思います。 –