マイクロサービスアーキテクチャとは何ですか?知っておきたい10のポイント!

序文

分散テクノロジースタックの段階的な成熟に伴い、近年、金融、eコマース、ライブブロードキャスト、ロジスティクス、マーケティング、調達、製造など、インターネット分野と従来の分野の両方で、マイクロサービスアーキテクチャを使用して設計されたシステムとフィールドが増えています。フィールド。
最近、仕事を見つけるのに最適な時期です。今年(2020年)に、主要メーカーからのインタビューの質問と最新のデータを収集しました。以下は、データのスクリーンショットです(すべてのデータがドキュメントに統合され、pdfで圧縮およびパッケージ化されています)。 。
友だちが必要な場合は、ここをクリックして情報を入手できます。コード:qf
ここに画像の説明を挿入

正题

テストで不確定性を排除するにはどうすればよいですか?

非決定的テスト(NDT)は、基本的に信頼性の低いテストです。そのため、彼らが合格することもあれば、失敗することもあります。彼らが失敗すると、彼らは再実行して合格します。

テストから非決定性を削除するいくつかの方法は次のとおりです。

1.分離

2.非同期

3.リモートサービス

4.分離

5.時間

6.リソースの漏洩

モックとスタブの違いは何ですか?

スタブ

・テストの実行に役立つ仮想オブジェクト。

・ハードコード化できる特定の条件下での固定動作を提供します。

・スタブの他の動作をテストしないでください。

たとえば、空のスタックの場合、empty()メソッドに対してのみtrueを返すスタブを作成できます。したがって、スタックに要素があるかどうかは関係ありません。

歯に詰め物をする

・特定のプロパティが最初に設定されている仮想オブジェクト。

・このオブジェクトの動作は、設定された属性によって異なります。

・オブジェクトの動作をテストすることもできます。

たとえば、Customerオブジェクトの場合、名前と年齢を設定することでシミュレートできます。年齢を12に設定してから、isAdult()メソッドをテストします。これにより、年齢が18を超えるとtrueが返されます。したがって、Mock Customerオブジェクトは指定された条件に適しています。

マイクコーンのテストピラミッドについてどれだけ知っていますか?

Mike CohnはTest Pyramidと呼ばれるモデルを提供しました。これは、ソフトウェア開発に必要な自動テストのタイプを示しています。

ここに画像の説明を挿入

                                 Mike Cohn 的测试金字塔 – 微服务面试问题

ピラミッドによると、最初の層のテストの数は最も多くなるはずです。サービス層では、テストの数は単体テストレベルより少なくする必要がありますが、エンドツーエンドレベルよりも大きくする必要があります。

Dockerの目的は何ですか?

Dockerは、任意のアプリケーションをホストするために使用できるコンテナー環境を提供します。ここでは、ソフトウェアアプリケーションとそれをサポートする依存関係が緊密にパッケージ化されています。

したがって、このパッケージ化された製品はDockerによって実行されるため、コンテナーと呼ばれ、Dockerコンテナーと呼ばれます。

カナリアリリースとは何ですか?

Canaryリリースは、新しいソフトウェアバージョンを本番環境に導入するリスクを軽減するテクノロジーです。これは、変更を小さなユーザーグループにゆっくりと展開し、それをインフラストラクチャ全体に公開して、誰でも利用できるようにすることで行われます。

継続的インテグレーション(CI)とは何ですか?

継続的インテグレーション(CI)は、チームメンバーがバージョン管理の変更を送信するたびに、コードを自動的に構築およびテストするプロセスです。これにより、開発者は、小さな各タスクが完了した後で、変更を共有バージョン管理リポジトリにマージして、コードとユニットテストを共有することができます。

継続的監視とは何ですか?

ブラウザのフロントエンドパフォーマンスインジケーターからアプリケーションパフォーマンス、ホスト仮想化インフラストラクチャーインジケーターまで、カバレッジの継続的な監視と詳細な監視。

マイクロサービスアーキテクチャにおけるアーキテクトの役割は何ですか?

マイクロサービスアーキテクチャの設計者は、次の役割を果たします。

・ソフトウェアシステム全体のレイアウトを決定します。

・コンポーネントのパーティション分割を決定するのに役立ちます。したがって、コンポーネントが互いに接着されているが、しっかりと結合されていないことが保証されます。

・開発者と共同でコードを記述して、日常生活で直面する課題を理解します。

・マイクロサービスを開発するチームに特定のツールと手法に関する提案を提供します。

・技術開発チームがマイクロサービスの原則に従うように、技術ガバナンスを提供します。

マイクロサービスで状態マシンを作成できますか?

独自のデータベースを備えた各マイクロサービスは、独立してデプロイ可能なプログラムユニットであり、ステートマシンを作成することができます。したがって、特定のマイクロサービスに異なる状態とイベントを指定できます。

たとえば、Orderマイクロサービスを定義できます。注文にはさまざまなステータスがあります。Order状態の遷移は、Orderマイクロサービスの独立したイベントになる可能性があります。

マイクロサービスのリアクティブ拡張とは何ですか?

Reactive ExtensionsはRxとも呼ばれます。これは、複数のサービスを呼び出して結果を収集し、結合された応答をコンパイルする設計方法です。これらの呼び出しは、同期または非同期、ブロッキングまたは非ブロッキングにすることができます。Rxは、従来のプロセスとは異なり、分散システムで非常に人気のあるツールです。

2020年、皆様のご健闘をお祈りします!

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/w1103576/article/details/108599597