インタビューの質問37:マイクロサービスとは何ですか?springcloudとspringbootとは何ですか?

ファイル

インタビュー中に、マイクロサービスアーキテクチャを使用する理由を尋ねられました。Springcloudのコアコンポーネントは何ですか?

私たちの国の武器を例にとると、戦争の単一ユニットアーキテクチャをマイクロサービスする方法は、適用可能なシナリオに従って異なる武器(マイクロサービス)を分割することです。

次に、各サービスユニットは、独自の通信プロトコル(RPC)を使用して軍事地域本部を介して接続されます。

各アームは内部的に自律的であり、外部攻撃サービス(HTTP)を提供するための独自のビジネス、データ、およびデプロイメントユニット(組織)を持っています。

マイクロサービス

マイクロサービスはアーキテクチャスタイルです。

モノリシックシステムをさまざまなマイクロサービス(プロセスクラスター内)に分割し、サービスはHTTPまたはRPCプロトコルを介して通信します。

内部サービスは、特定の問題ドメインを中心としたビジネスであり、独自の個別のビジネスプロセス、データストレージ、自動テスト、および自動独立デプロイメントメカニズムを備えています。

単一システムの問題を解決する:開発側:一部のビジネスの変更はプロジェクト全体を変更する必要があり、開発と保守のコストが高く、ミスを犯しやすく、チームワークを助長しません。O&Mライン:一部のビジネスのオンラインは全体的なサービス品質に影響し、運用と保守を正確に評価できませんシステムリソースの需要。

引き起こされる問題:

1. O&Mは膨大な数のプロセスを維持する必要があります。

2.インターフェイスのビジネスプロセスが長くなり、一貫性を制御することがより困難になります。

3.分散された複雑さ:ネットワークの遅延、非同期メッセージ、分散トランザクションなど。

アジャイルプロジェクト管理と自動デプロイメントに基づいて、これらの問題に対処できます。

Springcloud全体の紹介

Springbootに基づくマイクロサービスアーキテクチャ開発ツール。

これらの分散した問題の解決策を提供します。

ファイル

Springbootは何をもたらしますか?

1.マイクロサービスを開発するための足場を提供します(理想的なイニシャライザがspringcloudマイクロサービスを作成します)。0からプロジェクトを構築する問題を軽減します。

2.スプリングを書き換えたり、スプリングを交換したりするのではなく、主に自動構成を提供して元のモデル構成を簡素化します。

3.他のコンポーネントを統合し、依存関係管理の問題を解決するためのさまざまなスターターを提供する迅速な開発

4.簡単な導入、組み込みのWebコンテナ、Dockerとの簡単な統合。

プロジェクトの構築、開発、およびテスト段階をカバーします。

スプリングブートクイック使用

idea初期化子がspringcloudマイクロサービスを作成します

休憩インターフェースを開発する

開発インターフェースのユニットテストコード

私が得たサンプルコードポイント!

エンジニアリング構造

ファイル

依存処理

1、親処理

2. DependencyManagemant処理メソッド

実行中

1、java -jar x.jarは正式な環境を実行します

2、アイデアはデバッグ操作を提供します;開発環境

3、mavenのスプリングブート:開発環境を実行するプラグインを実行します。

スプリングブート構成

自動構成は、スプリングブートの最大のハイライトです。

構成されたロード優先度は次のとおりです。

1.コマンドラインのパラメーター。 

2.システム環境変数のSPRING_APPLICATION_JSON構成。

3. JNDI属性:java:comp / env

4、JavaオペレーティングシステムのプロパティSystem.getProperties();

5、オペレーティングシステム環境変数

6. jarパッケージ外のApplication- $ {profile} .properties 

7、jarパッケージ内のapplication- $ {profile} .properties 

8、  @ Configurationアノテーション変更クラス @PropertySourceアノテーション定義プロパティ 

9、SpringApplication.setDefaultProperties()

マルチ環境構成

application.propertiesは一般的な設定を行い、開発環境のアクティブ化を指定します

他の環境で差別化された構成を提供します。公開時にコマンドラインを介して環境を指定します。Spring.profiles.active= prod;

スプリングブート監視

マイクロサービスのプロセス数は増加しており、監視と早期警告のためにマイクロサービスの動作インジケーターを収集するための自動監視操作とメンテナンスメカニズムが必要です。

監視するスプリングブートスターターアクチュエータ。

そして、オープンエンドポイントを設定します。

一般的なモニタリングエンドポイント:/ヘルス/ Bean /マッピング

まとめ

まず、マクロの答えは、マイクロサービスが表示される理由と解決される問題です。

次に、春の雲がもたらすものを予備的に紹介しましたか?

次に、spring-cloudの基礎から進みます。つまり、springbootは、springbootがもたらすもの、シンプルで実用的な構成、監視を分析します。

Springbootは何をもたらしますか?

そして、Springbootを使用してインターフェイスをすばやく開発するプロセス。

プロジェクト構造の詳細、依存関係の処理方法、操作手順などを簡単に紹介します。

次に、構成に基づいて、構成パラメーターの読み込み順序と複数の環境でのベストプラクティスを紹介します。

最後に、マイクロサービスのエンドポイント情報を収集するために、マイクロサービスの自動監視および操作とメンテナンスのメカニズムアクチュエータが導入されています。

オリジナリティは、好きで、フォローして、サポートするのは簡単ではありません!転載出典を明記し、コミュニケーションを図り、一緒に進歩を遂げ、コミュニケーションを歓迎します。私はJavaソフトウェアプログラミングの知識とプログラマーのキャリアパスを共有し続けます。ようこそ、注目してください。長年にわたってプログラミングと学習のためのさまざまなリソースを編成し、公開番号「Li Fuchun継続的出力」に注意を払い、共有するための「学習資料」を送信します!

おすすめ

転載: juejin.im/post/5e941498e51d4546df73933b