本当に666!アリのシニアアーキテクトは一晩中起きていました純粋に手書きの238ページのマイクロサービスコンテナ開発の実用的なメモ

序文

今日のコンピュータ技術の急速な発展に伴い、新しい技術の無限の流れは生産性の開発を促進し、また社会全体の進歩を促進しました。ソフトウェアアーキテクチャは、モノリシックアーキテクチャから分散アーキテクチャ、SOAアーキテクチャからマイクロサービスアーキテクチャ、そしてサービスグリッドにまで及びます。データベースは、OracleからMySQLに広がり、次にインメモリデータベースとNoSQLデータベースに広がります。コンテナのオーケストレーションとスケジューリングのテクノロジーは、Mesos、Swarm、Kubernetesから、究極のKubernetesの優位性へと進化しました。「労働者は、うまくやりたいのであれば、まずツールを研ぎ澄ます必要があります。」インターネットの変革の流れの中で、アイデア、方法、テクノロジーの包括的な変革が必要です。インターネットアーキテクチャの高い信頼性、高い同時実行性、高い拡張性、および低い結合度は、インターネットアプリケーションに無限の可能性を共同で生み出します。

マイクロサービスの中心的なアイデアは、システム全体を複数の独立したビジネスに分割することであり、各モジュールは独立して開発、テスト、展開、実行、および運用できます。この低結合、高凝集性の柔軟性は、まさにすべてのアーキテクチャ設計者が期待するものです。したがって、マイクロサービスアーキテクチャは、短期間で大規模なインターネット企業に支持され、複雑なインターネットアプリケーションを作成するための強力なツールになりました。現在の主流のコンテナオーケストレーションおよびスケジューリングプラットフォームとして、Kubernetesは新しいものから、グローバルITテクノロジーに影響を与えるインフラストラクチャプラットフォームへと徐々に発展し、マイクロサービスアーキテクチャ、クラウドネイティブアプリケーション、サービスグリッドなどの人気のあるテクノロジーの普及と着陸を促進してきました。 。

この記事の内容は段階的であり、概念は浅いものから深いものまで、簡単なものから難しいものまで明確で明確であり、マイクロサービス、コンテナ化、読者向けの技術的実践を含むパノラマ写真を提示します。

この記事では、企業におけるマイクロサービスのプロモーションと実装における著者の多くの経験を統合し、理論的なフレームワークが完全であるだけでなく、典型的な実際の事例も統合しています。

現在、ビッグデータ、クラウドコンピューティング、モノのインターネット、人工知能、ブロックチェーンなどのテクノロジーがいたるところに咲いています。5Gテクノロジーの翼で、私たちは確実に急上昇することができます!

 

この記事は、カタログ、メインコンテンツ、ダニエルによるこの記事の高い評価の3つのパートに分かれています。コンテンツが比較的大きいため、編集者はすべての人に紹介できる知識ポイントとカタログしか表示できません。すべての人に理解してもらいたいです。

この記事の内容

 

この記事の主な内容

マイクロサービスとDockerコンテナテクノロジーは、分散アーキテクチャで一般的に使用される主流のテクノロジーです。Kubernetesの強力なコンテナサービスのオーケストレーションとスケジューリング機能を組み合わせることで、中小企業は独自の分散インターネットアーキテクチャシステムを簡単かつ迅速に構築できます。

この記事では、実際の本番プロジェクトの再構築のプロセスと経験を組み合わせて、マイクロサービスの開発と運用および保守のテクノロジースタックの選択を含む、モノリシックアーキテクチャからマイクロサービスのコンテナ化された分散アーキテクチャへの移行のさまざまな側面を詳細に紹介します。クラウドマイクロサービスの開発、RancherとKubernetesの生産のオフライン環境でのインストールとデプロイ、マイクロサービスのコンテナ化とサービスオーケストレーション、ログコールチェーンの収集と表示、Prometheusに基づくシステム監視、マイクロサービスの継続的インテグレーション。

この記事では、Spring Boot、Spring Cloud、Docker、Rancher、Kubernetesなどのテクノロジーに基づいて、設計、開発、デプロイから運用、保守まで、マイクロサービスのコンテナー化された本番環境の全体的なソリューションを主に提供します。

第1章モノリシックアーキテクチャとマイクロサービスアーキテクチャ。

この章では、eコマース注文システムをエントリポイントとして取り上げます。最初にシステムの関連する背景を紹介し、次にモノリシックアーキテクチャとマイクロサービスアーキテクチャの特徴、長所と短所を簡単に紹介し、次に設計原則と分割原則を紹介します。そして最後にマイクロサービス開発の原則を紹介しました。新しいソフトウェアアーキテクチャモデルとして、マイクロサービスアーキテクチャには特定の設計原則と分割原則があります。

 

第2章SpringBootマイクロサービスの開発。

この章では、主にマイクロサービスに関連する概念、フレームワーク、開発、パッケージ化、およびテストを紹介します。まず、DubboサービスフレームワークとSpring Cloudマイクロサービスフレームワークを詳細に紹介し、2つのフレームワークの概念、特性、テクノロジースタックを紹介して詳細に比較します。次に、マイクロサービスの開発と運用のテクノロジースタックのパノラマビューを提供し、マイクロサービスに関連する現在の主流のテクノロジーを一覧表示します。

 

第3章マイクロサービスオペレーティング環境のセットアップ。

この章では、主に、開発環境、テスト環境、本番環境など、マイクロサービスで一般的に使用される3つの環境構築作業を紹介します。Spring Bootに対応する構成ファイルは、dev、test、prodに分かれており、3つの主な違いは、サードパーティのサービスIPアドレス、データベースアドレス、ミドルウェアアドレス、ログ構成です。

 

第4章RancherとKubernetesのオフライン展開。

この章では、主にマイクロサービスオペレーティング環境のインストールファイルをダウンロードする方法と、マイクロサービスオペレーティング環境Docker、Kubernetes、Rancherのオフラインインストールについて紹介します。DockerとHarbourミラーウェアハウスにはCA証明書が含まれるため、この章ではCA証明書の作成と生成のプロセスについても紹介します。

Dockerオフラインインストールでは、yumlocalinstallコマンドを使用して2つのrpmインストールパッケージをインストールします。Harbourは、人気のあるコンテナープライベートイメージウェアハウスです。DockerComposeに基づくインストール方法はシンプルで高速です。さらに、Harborをインストールするには、以前に生成されたCA証明書を構成する必要があります。Harbourをインストールした後、Dockerにログインして、後続のイメージのプッシュおよびプル操作を容易にすることができます。

RancherとKubernetesのインストールとデプロイのプロセスは次のとおりです。まず、Kubernetesクラスターの管理に使用されるRancherプラットフォームをインストールします。次に、Rancherプラットフォームを使用してKubernetesクラスターを作成およびインストールし、簡単に追加できるようにします。 Kubernetesクラスターのコントロールなどのノードとワーカーノード。シンプル。この章のマイクロサービスオペレーティング環境のインストールとデプロイの後、KubernetesとRancherに基づくコンテナ化されたオペレーティングクラスターを取得できます。

 

第5章ログ収集;

この章では、ログ出力、ログ収集、ログの収集と処理、ログの保存、ログの表示など、マイクロサービスシステムのエンドツーエンドのログ収集全体を紹介します。まず、Elasticsearchの全文検索機能とKibanaの豊富なグラフィック表示機能を駆使して、FilebeatとELKに基づくログ収集モデルを紹介します。次に、Spring Bootに基づくマイクロサービスのログ出力構成を紹介します。構成は、開発環境、テスト環境、本番環境に分けられます。最後に、ログ収集モデルに従って、ログ収集、ログ収集、およびログ表示がそれぞれ導入されます。

ログ収集では、最初にコンテナのログディレクトリをマウントし、次にFilebeatを使用してログを収集します。ログ収集とは、ログがFilebeatによって収集された後、一元化されたログ形式変換のためにLogstashコンポーネントに出力され、Elasticsearchコンポーネントとディスクログファイルに収集されることを意味します。開発者とメンテナがシェルスクリプトを使用してログを表示できるように、ログは収集されてディスクファイルに保存されます。ログは収集され、KibanaのElasticsearchコンポーネントに保存されて、グラフィカルなクエリと表示を実行し、豊富なチャートとダッシュボードを描画して組み合わせることができます。

 

第6章コールチェーン追跡;

この章では、最初にコールチェーントレースの概念を紹介し、トレースとサービスコールのスパンの意味を説明します。次に、Spring Cloudコールチェーン追跡モデルにSleuthコンポーネントとZipkinコンポーネントを導入し、SpringCloudコールチェーン追跡モデルを導入しました。

最後に、Sleuth + Zipkinコールチェーントラッキングテクノロジー、開発環境、テスト環境、本番環境での構成、Elasticsearchコンポーネントでのコールチェーンデータの保存について紹介します。同時に、その方法を紹介します。 ZipkinおよびKibanaの情報でコールチェーンをグラフィカルに表示および取得します。

 

第7章ヒューズ;

この章では、最初にマイクロサービスのヒューズの概念を紹介し、次にSpringCloudのヒューズであるHystrixの特性を紹介します。最後に、ヒューズに関連するMaven依存関係の構成、ヒューズの使用のコーディング、およびヒューズのグラフィック表示と監視について紹介します。

 

第8章コンテナ化とサービスオーケストレーション。

この章では、実稼働環境でのアプリケーションイメージの構築プロセスに焦点を当てて、コンテナ化、仮想マシン、およびサービスオーケストレーションを紹介します。ミラーリングには、マザーミラーリング、基本ミラーリング、アプリケーションミラーリングが含まれます。同時に、アプリケーションミラーリングの基本的な構築方法が導入されます。

サービスオーケストレーションでは、主に、RancherベースのKubernetesコンテナサービスオーケストレーションプラットフォームを生成プラクティスと組み合わせて紹介し、Rancherを使用してマイクロサービスを作成およびアップグレードする方法、ディレクトリマウントを操作する方法、環境変数を構成する方法などを紹介します。最後に、本番プロジェクトでNginxを使用して他のマイクロサービスの負荷分散を行うことと組み合わせて、構成マップを作成する方法と構成マップを使用する方法を紹介します。

 

第9章システム監視;

この章では、最初に、ホストモニタリング、セキュリティモニタリング、ミドルウェアモニタリング、ビジネスモニタリング、コンテナモニタリングなど、システムモニタリングの概要を説明します。次に、Kubernetesクラスターで一般的に使用されるモニタリングソリューションを紹介します。通常、Node Exporter、Prometheus、Grafanaに基づくモニタリングシステムが選択されます。

次に、Node Exporter、Prometheus、およびGrafanaコンポーネントのデプロイメントファイルについて順番に説明します。最後に、Grafanaコンポーネントのグラフィカルダッシュボードと組み合わせて、Grafanaコンポーネントの強力で豊富なグラフィカル表示機能を紹介します。

 

第10章継続的インテグレーションの展開。

この章では、継続的インテグレーションと継続的デプロイの概念、および継続的インテグレーションデプロイメントのモデルを簡単に紹介し、Kubernetesコンテナ化プラットフォーム、Rancherコンテナオーケストレーションプラットフォーム、およびJenkinsパイプラインに基づくCICDの本番環境に焦点を当てます。

 

この[マイクロサービスコンテナ化開発戦闘]ドキュメントは合計238ページあります。フルバージョンが必要な場合は、この記事を転送してエディターをフォローし、以下のコードをスキャンして入手してください。

この記事に対するダニエルの評価

 

おすすめ

転載: blog.csdn.net/bjmashibing001/article/details/113555229