Guli Mall の 1 日目 - プロジェクトの概要、アーキテクチャ、Linux 環境のセットアップ

目次

1. 学習内容

1.モール共通機種

2. Guli Mallプロジェクトのマイクロサービスアーキテクチャ

3. Guli Mall プロジェクトのマイクロサービス部門

4. グレインモールプロジェクトの見どころ

5. マイクロサービスの基本概念

2.完成までの進捗状況

3. 学んだこと

4. まとめ


6 月 9 日に、私は Guli Mall プロジェクトの学習を開始することを正式に決定しました。有名な Guli Mall プロジェクトについては以前から聞いていましたが、他の理由で最初の数エピソードに留まり、マイクロサービスがまだ準備ができていないのではないかと常に心配していました。 . 学んだ後に学び始めるのは良い考えではありませんか? 実際、知識をプロジェクトと組み合わせる必要があることに気づいたのは、実際に学んだ後でした。学んだことはあっても、それをプロジェクトに適用する方法がわかりません。プロジェクトの能力は非常に重要です。さて、以下のテキストを始めましょう:

1. 学習内容

まず、Guli Mall プロジェクトを簡単に紹介し、最終的な効果を見てから、このモール プロジェクトが B2C モデル、つまり販売者から顧客へ、販売者が商品をユーザーに直接配送し、Xiaomi Mall、JD.com、および Xiaomi Mall であることを説明します。 Alibaba は同じです。もちろん、JD.com と Alibaba は複数のモデルを 1 つに組み合わせています。

1.モール共通機種

この時点では、一般的なモール モードについて知っておく必要があります。一般的に、次の 5 つのモードがあります。

1、B2C

最も一般的な従来のモデルは、企業対顧客です。例: Xiaomi Mall、JD.com、Alibaba

2、C2B

顧客と販売者は、顧客が要求を提供し、販売者がそれを満たすことを意味します。それほど一般的ではありません

3、C2C

顧客から顧客へ、つまり顧客が個人的に商品を販売し、その後別の顧客が商品を購入します。例えば塩辛

4、B2B

企業対企業、企業対企業の関係。たとえば、アリババ

5、O2O

オンライン-オフラインとは、オンラインからオフライン、つまりオフラインのビジネスもオンラインのインターネットに接続されることを意味します。たとえば、Ele.me、Meituan、Taopiao などです。

次に、Guli Mall プロジェクトのマイクロサービス アーキテクチャとマイクロサービス部門を理解する必要があります。

2. Guli Mallプロジェクトのマイクロサービスアーキテクチャ

アーキテクチャについてはあまり言うことがありません。今は一般的な理解しかできず、深く理解することはできません。プロジェクトを完了して戻って読むと、より深い理解が得られるでしょう。コースウェア資料のマイクロサービスアーキテクチャ図:

一般的なプロセスは、外部ネットワーク デプロイメントを通じて Nginx を構築し、次に内部ネットワークにアクセスします。まず、ゲートウェイを通過します。ゲートウェイは認証、フロー制限、ルーティングを実行でき、その後、ターゲット サービスにルーティングできます。サービスがあるかどうかを知るには、どのサービスがまだ使用可能であるかを知るには、nacos のサービス登録とサービス検出に依存する必要があります。実際にマイクロサービスに入るときは、直接アクセスする必要はありません。複数のインスタンスがある場合は、同じサービスの場合、どのインスタンスを選択する必要がありますか? したがって、ロード バランシングを使用してルールに従って選択する必要があります。ポーリング、ランダム、ハッシュなどのルールがあり、さらに、センチネルを使用してサーキット ブレーカーのダウングレードを実行することもできます。サーキットブレーカーのダウングレードというのは、実は複雑なものを分割するということです。シンプルになるんです。とにかく、私はそう理解しています。ダウングレードですよね?その名の通り、レベルを下げるということですよね。そしてビジネス層に到達します。ビジネス層「実はこれが本業、つまりこれに時間を費やす必要がある。他のものをすべて捨ててこの事業だけを残したら、それは一つのプロジェクトになってしまう。もちろん、過去のプロジェクトに取り組んだときも、それはわかっている」すべてのインターフェイスにアクセスできるわけではありません。特定の権限が依然として必要です。springsecurity フレームワークを使用して権限を管理できます。ユーザーが異なれば、権限も異なります。そして、springsecurity と比較すると、OAuth2 とペアになっているというアップグレードがあるようです。

3. Guli Mall プロジェクトのマイクロサービス部門

マイクロサービス部門は、実際にはプロジェクトを簡単に分割したもので、最初にフロントエンドの Vue やモバイル アプレットなどからリクエストを送信し、最初に認証、電流制限、ルーティングのためのゲートウェイを通過し、その後に到達します。マイクロサービス グループは、製品サービス、注文サービス、支払いサービス、その他のサービスを含む複数のマイクロサービスの集合です。次に、サービスの登録、構成、分散トランザクションなどのサービスのガバナンスであるマイクロサービスの核があります。 、サービス フォールト トレランス、サーキット ブレーカー サービスの低下、リモート通話、負荷分散、リンク トラッキング。次に、サービスの監視が含まれます。さらに、物流、SMS、支払い、金融サービスなどのサードパーティ サービスも含まれます。プロセス全体のデータ サポート レイヤーには、Redis、Mysql、RabbitMQ、ES が含まれます。 OSS。

分割図は次のとおりです。

4. グレインモールプロジェクトの見どころ

1. フロントエンドとバックエンドの分離開発モデルに基づいて、vue に基づいて開発されたバックエンド管理システム

2. 新しいソリューションのセットである springcloud を使用する

3. アプリケーション監視、電流制限、ゲートウェイ、サーキットブレーカー、劣化などの分散ソリューション

4. 分散トランザクションや分散ロックなどの分散問題を徹底解説

5. 同時実行性の高いシナリオでのコーディング方法、スレッド プールの使用、および非同期オーケストレーションを分析する

6. ストレステストとパフォーマンスの最適化

7. 各種クラスター技術の違いと用途

8. CI/CDの利用

5. マイクロサービスの基本概念

1. マイクロサービスとは

実際、マイクロサービスはビジネスに応じて分割できます。つまり、大規模なプロジェクトを 1 つずつ小さなアプリケーションに分割して、切り離しを実現します。それぞれの小規模なサービスは独立してデプロイされ、実行されます。

2. クラスター/分散/ノード

クラスタは実際にはクラスタと呼ばれるマシンの束を積み重ねたものですが、ディストリビューションはビジネスをさまざまな場所に分散させることを意味し、ディストリビューション内の各サービスは実際にはサービス グループ内のノードになります。たとえば、JD.com は大規模な分散システムであり、ユーザー サービス、製品サービス、および注文サービスを別のマシンに配置します。各サービスは個別のマシンではなく、複数のマシンが一緒になっています。同時実行性が向上し、リスクが軽減されます。クラスタリング

3. リモート通話

現在は分散されているため、実際には各サービスが独立しており、サービス間の相互呼び出しはリモート呼び出しで行う必要があります。

4. 負荷分散

負荷分散とは、リソースを合理的に使用し、一部のマシンをビジーにしすぎたりアイドル状態にしすぎたりせず、負荷を分散するための何らかの手段を講じることです。一般的なものには、ポーリング、ランダム化、ハッシュなどがあります。

5. サービスの登録検出

現在は分散システムなので、他のサービスを呼び出す際には、他のサービスが利用可能か、どのサービスが正常で、どのサービスがオフラインであるかなど、他のサービスの状態を把握する必要があります。

6. 構成センター

数多くのサービスには必ず多数の設定があり、それを一つ一つ設定していては非常に非効率となるため、一元的かつ一元的に設定を管理するためにコンフィグレーションセンターが利用されます。

7. サービスサーキットブレーカーとサービス低下

これは実際には災害復旧メカニズムです。

サービスサーキットブレーカーとは、その名の通り、サーキットブレーカーとは遮断するという意味で、例えば、あるサービスに電話をかけたところ、あるサービスが長時間応答しなかった場合、それを待たずに実装することになります。別の解決策のセット (たとえば、デフォルト値を返す)

サービスのダウングレードは、その名前が示すように、レベルを下げることを意味します。つまり、現在のプロジェクトのコア モジュールが大きなプレッシャーにさらされている場合、それらの非コア モジュールを可能な限り解放し、リソースを他のモジュールに割り当てます。リソースを必要とするサービス。

8. APIゲートウェイ

主なタスクはルーティング、電流制限、認証です。実際、これは実際のマイクロサービスへの第一歩であり、その後、ロード バランシング、サーキット ブレーカー、統合認証、グレースケール パブリッシング、ログ統計など、実際には多くの機能があります。

2.完成までの進捗状況

私は簡単に聞いて、このマイクロサービスのいくつかのコンポーネントについて大まかに理解しましたが、それは単純に理解しただけで、詳細な学習はありませんでした。完成したと考えてよいでしょう。

3. 学んだこと

まず、モールプロジェクトのいくつかのパターンがあり、それからそれらをさらに深化させ、次にこのプロジェクトの一般的な建築部門がわかり、つまり、私たちはそれを知っています。マイクロサービス。改めてマイクロサービスについていくつかの概念を整理しましたが、もちろん簡単な理解しかできていませんが、具体的で深い理解はプロジェクトを行うことでさらに深める必要があります。

4. まとめ

実際、得られるものはそれほど大きくありません。主に、プロジェクトのマクロな観点からコンポーネントとテクノロジー スタック全体を見て、マイクロサービスを簡単に理解することに重点を置いています。実際、この日は主に、関連する概念を理解することに重点を置いています。マイクロサービスといくつかのコンポーネント。 

おすすめ

転載: blog.csdn.net/m0_63445035/article/details/131161699