3か月で、Tencent T4が推奨する528ページの高可用性でスケーラブルなマイクロサービスアーキテクチャを完全に理解し、Sinaに参加しました

序文

この記事では、ダボ、スプリングクラウド、サービスメッシュ、その他のテクノロジーを通じてマイクロサービスシステムを構築し、マイクロサービスアーキテクチャの開発履歴、ドメイン主導の設計、安定性保証の一般的な方法、分散トランザクションの一貫性スキームを簡単な方法で紹介します。アクティブ-アクティブシステム構築、分散モニタリング、マイクロサービスオーケストレーション、数百億のトラフィックに対応するマイクロサービスゲートウェイの設計と実装、支払いシナリオに基づくマイクロサービス変換など、マイクロサービスアーキテクチャの完全な実現を示すマイクロサービスランディングソリューションのケーススタディブループリント。読者にマイクロサービスを使用して既存のレガシーシステムを拡張およびリファクタリングする方法を理解させます。

マイクロサービスを知らない、またはマイクロサービスを初めて利用する初心者、マイクロサービスを使用して生産性を解放しようとしている開発者または運用および保守スタッフ、または高可用性でスケーラブルなマイクロサービスシステムを構築することを決意した設計者に関係なく、それは読むことができ、読者にとって有益です。

3か月で、Ali P8が推奨する528ページの高可用性とスケーラブルなマイクロサービスアーキテクチャを徹底的に体験し、Antに成功しました

 

目次

第1章マイクロサービスアーキテクチャの概要1
1.1アーキテクチャ1は何である
1.2いくつかの関連する概念3
ソフトウェアのライフサイクルのアーキテクチャ設計から1.3 7
1.4 9フォームとのアーキテクチャの特性
1.5目標とアーキテクチャの方法13
18 1.6アーキテクチャ、様々なスタイル
の第2章マイクロサービスのドメイン駆動設計30
2.1ドメイン駆動設計31
2.1.1 ドメイン駆動設計の概要31
2.1.2問題ドメインとソリューションドメイン34
2.1.3境界コンテキスト35
2.1.4コンテキストマッピング40
2.1.5ドメインアーキテクチャ43
2.2
マイクロサービスの設計48 2.2.1境界コンテキスト48
2.2.2境界コンテキストはマイクロサービス51
2.2.3境界コンテキストの認識53
2.2.4マイクロサービス間の連携59
2.3まとめ63
第3章Apache Dubboフレームワークの原則64
3.1
Dubboフレームワークの選択と使用64 3.1.1 Dubboフレームワークの選択64
3.1.2 Dubboフレームワークの使用65
3.2 Dubboフレームワークの原理分析70
3.2.1アーキテクチャ全体の分析70
3.2.2 Dubbo Beanの読み込み73
3.2.3ダボ拡張メカニズム77
3.2.4ダボコンシューマ91
3.2.5ダボサーバー126
3.2.6ダボ通信メカニズム144
3.3ダボベースの自動モックシステム165
3.3.1モックシミュレーションシステムの生成166
3.3.2ダボモックの使用167
3.3.3ダボモックの原理分析168
3.3.4自動モックシステムの実装170
第4章スプリングブート/スプリングクラウドの実践177
4.1スプリングブート原理の分析178
4.1.1スプリングブートクイックスタート178
4.1.2スプリングブートのスプリングアプリケーション180
4.1.3 Spring-boot-loadedモジュール分析186
4.1.4 spring-boot-autoconfigureモジュール分析190
4.1.5 Spring Boot条件付きアノテーション分析195
4.2 Dubbo Spring Boot Starter 198
4.2.1 Dubbo Spring Boot Starterの紹介198
4.2.2 Dubbo Initializrとサンプル198
4.2.3 dubbo-spring-boot-autoconfigureモジュール201
4.2.4 dubbo-spring-boot-actuatorモジュール204
4.3 Spring Cloudスタック211
4.3.1 マイクロサービスアーキテクチャにSpring Cloudが必要な理由212
4.3.2 Spring Cloudテクノロジースタックの概要214
4.3.3 Spring-cloud-scaffold基本ライブラリコレクション215
4.4 Maven Archetype 239に基づくスキャフォールディング239
4.4.1 Maven Archetype 239
4.4.2スキャフォールディングの構築240
4.4.3スキャフォールディングの生成247
第5章マイクロサービスの安定性を確保するための一般的な方法250
5.1 マイクロサービスの安定性250
5.2高可用性250
5.2。 1電流制限の
原理と実装250 5.2.2サーキットブレーカの原理と実装256
5.2.3タイムアウトと再試行260
5.3高い同時実行性262
5.3.1非同期263
5.3.2キャッシュ270
5.4要約272
第6章マイクロサービスでトランザクションを保証する方法273
6.1ローカルトランザクションから分散トランザクションへの進化273
6.2強整合性ソリューション276
6.2.1 2フェーズコミットプロトコル276
6.2.2 3フェーズコミットプロトコル278
6.3最終整合性ソリューション280
6.3.1 TCCモデル280
6.3.2補償モデル285
6.3.3信頼できるイベントモデル286
6.4オープンソースプロジェクトの分散トランザクション実装の解釈288
6.4.1 Apache RocketMQ 288
6.4.2 ServiceComb 289
第7章100億トラフィックのマイクロサービスゲートウェイ設計と実装293
7.1 APIゲートウェイの概要293
7.1.1分散サービスアーキテクチャ、マイクロサービスアーキテクチャ、APIゲートウェイ293
7.1.2 APIゲートウェイの定義、機能、焦点296
7.1.3 APIゲートウェイの分類と技術分析298
7.2オープンソースゲートウェイの分析と調査300
7.2.1一般的なオープンソースゲートウェイの概要300
7.2.2 4つのオープンソースゲートウェイの比較分析308
7.2.3 オープンソースゲートウェイの技術概要309
7.3 100億のトラフィック取引システムAPIゲートウェイの設計310
7.3.1 100億トラフィックトレーディングシステムのAPIゲートウェイの現在のステータスと問題310
7.3.2ビジネスゲートウェイの設計とベストプラクティス313
第8章マイクロサービスオーケストレーション317
8.1 Netflix Conductor 317
8.2 Netflix Conductorアーキテクチャ319
8.3 Conductorの使用例320
8.4 Netflix Conductorのソースコード分析328
8.4.1クライアント層のソースコード分析330
8.4.2サーバー側ソースコード分析337
8.4.3コア側ソースコード分析344
第9章マイクロサービスデータの抽出と統計356
9.1ケースストーリー356
9.2データウェアハウスの概要358
9.2.1データウェアハウスとは358
9.2.2データウェアハウスアーキテクチャ360
9.2.3データウェアハウスのモデリング方法361
9.2.4データの抽出、変換、およびロード361
9.2.5データ統計362
9.3データウェアハウスツールハイブ362
9.3.1ハイブのインストール364
9.3.2ハイブデータベース366
9.3.3ハイブテーブル367
9.4 Sqoopを使用してデータを抽出する369
9.4.1 Sqoopをインストールする370
9.4.2 MySQLテーブルデータをHiveテーブルにインポートする372
9.5 ETLジョブスケジューリング375
第10章マイクロサービスアクティブ-アクティブシステムの構築377
10.1高システム可用性377
10.2アクティブ-アクティブデータセンター379
10.2 .1シングルコンピュータールームの展開379
10.2.2デュアルコンピュータールームの展開380
10.2.3
支払いシナリオに基づくアクティブ-アクティブシステムの構築383 第11章支払いシナリオに基づくマイクロサービスの変換とパフォーマンスの最適化399
11.1支払いシナリオの概要399
11.2支払いビジネスの構築モジュールおよびサービス部門400
11.3支払いシナリオにおける
マイクロサービスアーキテクチャの詳細な説明と分析402 11.3.1ビジネスアーキテクチャの分析402
11.3.2詳細な技術プラットフォーム404
11.4コードレベルからのマイクロサービスアーキテクチャのパフォーマンスの向上407
11.4.1コードと設計の観点から407
11.4。 2アーキテクチャ全体の観点から418
11.5マイクロサービスアーキテクチャにおけるいくつかの一般的な障害分析手法421
第12章レガシーシステムのマイクロサービスアーキテクチャ変換426
12.1コード階層の変換426
12.2レガシーシステムの結合と考え方430
12.3シングルからシステム全体でサービスを分解する方法431
12.4レガシーシステムのマイクロサービスアーキテクチャの変換436
12.4.1コードリファクタリングからの開始436
12.4.2サービスの分割にはサービス指向のアーキテクチャ設計が必要437
12.4.3再構築は段階的なプロセス437
12.4 .4ユニットテストは基盤です440
12.4.5障害の設計440
12.4.6フロントエンドとバックエンドの分離441
12.4.7既存のデータベースの共有441
12.4.8グレーリリースの必要性442
12.4.9ログの集約とフルリンクの監視442
第13章サービスメッシュの詳細443
13.1サービスメッシュとは443
13.2 サービスメッシュの背景443
13.3サービスメッシュの概要444
13.3.1サービスメッシュアーキテクチャ444
13.3.2サービスメッシュで実行できること445
13.4
サービスメッシュの価値446 13.5サービスメッシュの現在のステータス447
13.6サービスメッシュに存在する問題448
13.7詳細なIstio 449
13.7.1 Istioアーキテクチャ449
13.7 .2データプレーン450
13.7.3コントロールプレーン455
13.7.4イシトケース458
13.8サービスメッシュアウトルック461
第14章マイクロサービスモニタリング実用的な戦闘463
14.1 APMの原理とアプリケーション464
14.1.1 APMとは464
14.1.2 APMモニタリングポイント464
14.1.3 APMの詳細な分析464
14.2 Prometheusモニタリングシステムの概要492
14.2.1
Prometheus の主な機能493 14.2.2 Prometheusのアーキテクチャとコンポーネントの
概要493 14.2.3 Prometheusのインストール494
14.2.4 MySQLを監視するためのPrometheusの使用498
14.2。 5 Prometheusアラームメカニズム501

簡単な紹介

本は14の章に分かれています:

第1章:マイクロサービスの概要

ソフトウェアアーキテクチャの開発プロセスを起点として、モノリシックアーキテクチャ、SOAアーキテクチャ、マイクロサービスアーキテクチャの進化プロセスを簡単に説明します。同時に、マイクロサービスアーキテクチャの特徴についても詳しく紹介します。この章では、マクロの観点からマイクロサービスアーキテクチャを紹介します。サービスへの扉。

第2章:マイクロサービスドメイン駆動設計

この章では、ドメイン主導の設計とは何か、一般的なドメインアーキテクチャとは何か、ドメイン主導をマイクロサービスに適用する方法、合理的なサービス部門にドメイン主導を使用する方法などを紹介し、読者がマイクロサービスを正式に学ぶ前に内部スキルを練習できるようにします。

第3章:ダボの原則と実装

現在、DubboはAlibabaテクニカルチームによって再保守され、活発に開発および昇格されています。Dubboの使用は、引き続きマイクロサービスの構築に使用できます。この章では、Dubboの使用法とスキル、およびソースコードの詳細な分析について説明します。読者にダボの原則の実現について包括的に理解してもらいます。

第4章:Spring Cloudの実際の戦闘事例

現在、Spring Boot / Cloudはより一般的なマイクロサービスフレームワークです。この章では、多数の実用的なケースを使用して、Spring Cloudフレームワークを適切に適用する方法と、使用中に遭遇する落とし穴を回避する方法を読者に説明します。

第5章:マイクロサービスの安定性を確保するために一般的に使用される方法

ビジネスがより速く、より大きく発展するにつれて、私たちが直面しているのは、より多くのサービスがある場合にマイクロサービスアーキテクチャの安定性を確保する方法です。この章では、読者に安定性の保証を徐々に明らかにしていきます。共通のスキルと手段。

第6章:マイクロサービスでのトランザクションの整合性保証

この章では、ローカルトランザクションから分散トランザクションへの進化を紹介し、強力で最終的な整合性シナリオにおけるマイクロサービスのソリューションを深く分析し、2フェーズコミットプロトコル、3フェーズコミットプロトコル、TCCモード、および補償モードについて説明します、高信頼イベントモードなど 同時に、RocketMQやServiceCombなどのオープンソースプロジェクトの分散トランザクションの解釈。

第7章:1億レベルのマイクロサービスゲートウェイの設計

この章は、数百億のトラフィックトランザクションシステムのマイクロサービスゲートウェイ(APIゲートウェイ)が直面する現状と問題から始まり、マイクロサービスアーキテクチャとAPIゲートウェイの関係を説明し、トラフィックゲートウェイとビジネスゲートウェイのコンテキストを明確にし、最も包括的なAPIゲートウェイの知識と経験。

第8章:マイクロサービスオーケストレーション

この章では、Netflix Conductorフレームワークをコアとして、フレームワークの使用と原理からマイクロサービスオーケストレーションとは何かを詳しく紹介し、マイクロサービスが複雑なビジネスロジックを実行するための新しいアイデアを提供します。

第9章:マイクロサービス統計とデータ抽出スキーム

マイクロサービスアーキテクチャでは、ますます多くのサービスが提供されます。このような場合、データの統計と分析を行う方法が非常に難しくなります。この章では、さまざまなサービスデータベースから統合されたビッグデータプラットフォームにデータを抽出する方法について詳しく説明しますでは、ユーザーがデータ統計をより便利に実行できるように支援します。

第10章:マイクロサービスアクティブアクティブシステムの構築

エンタープライズ開発の規模がますます大きくなるにつれて、システムの安定性に対するユーザーの要求はますます高くなっているため、単一のコンピュータールームの配置は必然的に開発のボトルネックになります。この章では、読者がゼロから始めて、同じ都市での実際のケースから始めるようにします。生きている建設。

第11章:支払いシナリオに基づくマイクロサービスの変換とパフォーマンスの最適化

この章は、実際のケースから始まり、特定の支払いビジネスシナリオで、新しいプロジェクトから始まり、ドメイン主導のサービス部門の使用方法、サービスガバナンスのためのマイクロサービスフレームワークの使用方法、およびプロジェクトの完了後にマイクロサービスアーキテクチャのパフォーマンスを向上させる方法について徐々に説明します。

第12章:レガシーシステムのマイクロサービス変換

この章では、レガシーシステムのマイクロサービスアーキテクチャの変換を紹介し、コードレイヤー構造の変換を整理し、マイクロサービスの人気と普及に対処するための新しいコードレイヤーのアイデアを提案し、レガシーシステムの結合を深く検討し、モノマーについて説明します。システム分割サービスの方法論。同時に、レガシーシステムのマイクロサービスアーキテクチャの変革を解決するために、9つの実用的なコアの実用的なアイデアが提供されます。

第13章:サービスメッシュの概要とケース

マイクロサービスの継続的な開発により、次世代のマイクロサービスアーキテクチャが登場しました。この章では、Service Meshの開発プロセスを詳細に紹介し、特定のケースに基づいて特定のプラクティスにIstioを使用するように読者を導きます。

第14章:マイクロサービスモニタリングの実際の戦闘

この章では、APMの原則に焦点を当て、APM監視システムをゼロから開発し、Prometheusのインストールと原則、および監視と早期警告のためにPrometheusを使用する方法を紹介します。

3か月で、Ali P8が推奨する528ページの高可用性とスケーラブルなマイクロサービスアーキテクチャを徹底的に体験し、Antに成功しました

 

この[高可用性スケーラブルマイクロサービスアーキテクチャ:Dubbo、Spring Cloud、およびServiceMeshに基づく]には合計528ページがあり、整理およびパッケージ化されています。フルバージョンのコンテンツを必要とする友達は、この記事を高く評価し、エディターをフォローできます。以下の直通列車は無料入手します

 

総括する

この記事の各章は、何年にもわたる技術の蓄積と改良を経て関連分野の専門家によって作成されています。これは理論に基づいており、多数の実際のエンタープライズケースをコアとしており、マイクロサービスアーキテクチャの実装方法と実装プロセスを包括的に紹介しています。遭遇する問題と解決策は、詳細で「着陸可能な」理論と実践を組み合わせた技術書です。

おすすめ

転載: blog.csdn.net/m0_46995061/article/details/108680946