充電およびスワッピング会社の Kamax は、ベスト プラクティスを使用してオンライン アプリケーションの安定性を低コストで向上させています

著者: カイマックスニューエナジー

Kamix New Energy Technology Co., Ltd.は2019年5月16日に設立されました。現在の合弁株主はVolkswagen (China) Investment Co., Ltd.、China FAW Co., Ltd.、FAW-Volkswagen Co., Ltd.です。 [資本金および株式の増資は、適切な監督当局(独占禁止法を含む)の承認を取得することが条件となります]、万邦デジタルエネルギー有限公司および江蘇省常州市に本社を置く安徽江淮汽車集団控股有限公司。Kaimax は、自動車会社と充電会社の利点を統合し、充電インフラの研究開発と製造からソフトウェアのインテリジェントな相互接続に至るまで、個人の充電ユーザーから準公共、公共、ビジネス ユーザーまで、業界の電源供給源から一般のユーザーまで、あらゆるものを提供します。ターミナルエクスペリエンスにより、各業態のフロントエンドとバックエンド間のシームレスな接続を可能にします。

Kaimax は中国の新世代の消費者向けに提供され、自家用電気自動車所有者の充電体験に重点を置くだけでなく、ユーザーに便利で安心、スマートで効率的な新しい充電体験を提供するハイエンド品質のサービスも提供します。 、人生を楽しむ旅が始まります。同時に、Camax は電気旅行のためのフルシナリオの充電サービスの提供にも注力しており、強力な研究開発力、高度なコア技術、高品質のサービスに依存しており、国内の新エネルギー車の充電分野でも多くの賞を受賞しています。 2021年、Camaxは「中国の充電杭業界におけるベストオペレーションサービスイノベーション賞」を受賞し、2023年3月にはKaimaxは「高品質充電五つ星ステーション賞」を一挙に受賞し、優​​れた充電事業者の第一陣となりました。 5 つ星の評価を獲得 (5 つ星レベルは最高レベルおよび最高水準のステーションです); 同年 6 月、Cammax は中国の充電およびスワッピング業界で 2023 年のトップ 10 影響力のあるオペレーター ブランド賞を受賞しました。カマックスは今後も充電ネットワークの構築速度と充電ユーザージャーニーの最適化と革新を推進し、高出力充電設備の研究開発と新しいエネルギーサービスの探索に焦点を当て、それによってエネルギーの深い統合によるグリーン開発を推進していきます。新エネルギーと新エネルギー車。

事業の安定は大きな課題です

2023 年も、カメックスは引き続きユーザー中心の統合イノベーションに取り組み、スマートな電動旅行の実現に努めていきます。今年5月末の時点で、Kamaxの充電ネットワークは中国の180都市をカバーし、1,198の充電ステーションと10,490の充電端末を建設し、累計ユーザー数は196万人を超えた。建設の遅れから「適度に進んでいる」状態にまで、充電杭産業は今後 3 年間で大きな発展を遂げ、その市場規模は数千億に達すると予想されます。現在、全国の多くの都市では、充電パイルの設置と利用が絶えずアップグレードされ、増加しています。新エネルギー車の開発に伴い、充電ユーザーグループの需要は急速に高まっています。ビジネスの急速な成長に伴い、Kaimax はその構造を安定させています。」 . セックスとユーザビリティに関しても、前例のない課題が生じています。

Camis はアプリケーション開発に従来の SpringBoot メソッドを採用しており、アプリケーションは HTTP リクエストを通じて相互接続されます。SpringBoot アーキテクチャのシンプルさは、Camis のビジネスとマイクロサービスの数の急速な拡大に効果的に役立ちます。しかし、マイクロサービスの規模が大きくなるにつれて、アプリケーションのリリースと運用のさまざまな段階で安定性と効率性に問題があることが徐々に判明してきます。ユーザー数の増加に伴い、対応するニーズも増加し、ビジネスシナリオはますます複雑になります。現時点では、内部テストのみに頼ってすべてのシナリオを確実にカバーすることは困難であり、アプリケーションのリリースごとに十分なテストと十分なグレースケール検証が必要です。迅速なイテレーションというビジネス要件を満たすためには、開発環境で複数のイテレーションをいかに低コストで並行して実行し、各ビジネスリリースの安定性を確保するかが効率向上の鍵となります。

たとえどんなに小さな問題であっても、大規模になると全身に影響を与える可能性があります。一方で、私たちが直面するトラフィックはランダムで予測不可能であり、トラフィックの急増がサービス容量の制限を超えると、サービスの速度が低下したり、負荷が増加したり、サービスがクラッシュしたりする可能性があります。一方、分散型マイクロサービスアーキテクチャは呼び出しリンクが複雑なメッシュアーキテクチャであるため、いずれかのサービス(依存する外部サービスも含む)に不安定要因(呼び出しの遅さや例外など)がある場合、上流のマイクロサービスアーキテクチャが不安定になる可能性があります。発信者がダウンし、連鎖的な影響が発生します。したがって、マイクロサービス ガバナンスでは、これらの不安定な状況を防ぐための何らかの手段が必要です。

マイクロサービス アーキテクチャの継続的な進化と成長に直面して、Kamax アーキテクチャの学生は、現在のマイクロサービスを適切に管理するためにマイクロサービス ガバナンス機能を導入し、それによってマイクロサービスの安定性と効率をさらに向上させる必要性にも気づきました。同様に、ビジネスは依然として急速な発展の要求に直面しており、オリジナルの Spring Boot フレームワークが Spring Cloud にアップグレードされ、さまざまな高レベルのサービス ガバナンス機能が導入されれば、現在ビジネスの急速な発展に直面している Kaimax R&D の学生にとっては必要となるでしょう。投資コストが高すぎる。

マイクロサービス アーキテクチャのアップグレードを無意味に実装する

コードを変更せずにマイクロサービスのガバナンス機能を実装する方法はありますか? たとえば、フルリンク グレースケール リリースを実装して変更による安定性リスクを回避したり、電流制限およびダウングレード機能を使用して動作状態の安定性を確保し、不確実なトラフィックによって引き起こされた安定性リスクを解決したり、認証機能を使用してマイクロサービス セキュリティを解決したりすることによって、断続的な通話のリスク。これは、航空機が高速で走行しているときにエンジンを交換して、航空機の性能をどのように向上させることができるかというようなものです。さらに重要なことは、飛行機の乗客に対して無関心でなければならないということです。

さらに問題を抽象化し、コードを変更せずに Java アプリケーションのサービス ガバナンス機能を実現するにはどうすればよいかを考えます。このプロセスでは、安定性、問題診断の効率、アーキテクチャの持続可能性、パフォーマンスなどの一連の現実的な要素を確保する必要があります。 。

テクノロジーの探求は常にビジネスに役立ちます。Kaimax のソリューションについてさらに議論しました。南北および東西のトラフィック管理ソリューションを統合することで、ユーザーの非侵入的なサービス管理の問題を解決できるでしょうか?

  1. MSEクラウドネイティブゲートウェイは、K8s Ingress規格に準拠した次世代ゲートウェイ製品で、トラフィックゲートウェイ、マイクロサービスゲートウェイ、WAFセキュリティゲートウェイを一つに統合したもので、高統合、使い易さ、拡張容易、ホットアップデートといった特徴を持っています。 。K8s/Nacos などの複数のサービス ソースを開放し、ロスレス オンラインおよびオフライン、フルリンク グレースケール、過負荷保護、障害自己修復、電流制限劣化などの手段を通じてリンク全体のアプリケーションの安定性を向上させます。

  2. MSEクラウドネイティブゲートウェイはフルマネージドモデルを採用しており、クラウドネイティブゲートウェイを選択した後は、ユーザーはゲートウェイの特定の用途のみを気にするだけでよく、運用保守、安定性、監視、アラームなどの機能を気にする必要はありません。クラウド ネイティブ ゲートウェイ自体の機能を備えており、すぐに使用でき、使用の敷居が低い。

クラウド ネイティブ ゲートウェイがルーティング ルールを通じてトラフィックとフロー制御を統合できることを考慮すると、Higress を使用してサービス間の通話トラフィックの管理要件を実装できますか?

サービス間のトラフィック転送と管理

アイデアが完成し、全員が安定性、セキュリティ、コストを評価したので、すぐにソリューションの実践と探索を開始できます。私たちが直面する最初の問題は、ドメイン名を介して K8s サービスを呼び出す本来の方法です。トラフィックを Higress に転送し、その後 Higress を介して実際の対応する Pod に転送するにはどうすればよいでしょうか? このプロセスでは、溶液の安定性を考慮する必要があります。

  • すぐに思いつく方法は、K8s のサービスとエンドポイントの構成を変更し、coreDNS 機能を使用してトラフィックを Higress に転送することです。
apiVersion: v1
kind: Service
metadata:
 name: provider
spec:
  type: ClusterIP
  clusterIP: None
---
apiVersion: v1
kind: Endpoints
metadata:
  name: provider
spec:
  subsetS:
    ip: ${higress-slb}
    port: 80
  • 商業的な安定性を確保するため、CoreDNS を同種の製品 privatelinkZone DNS に置き換えると同時に、CNAME タイプの DNS レコードを設定して、サービス間でアクセスされるドメイン名 *.camsnet.com をクラウド ネイティブに一括で切り替えることができます。ゲートウェイ。

これまでのところ、オーダー トラフィックが内部ゲートウェイ Higress に転送されることは完了しました。次に、トラフィックを実際のターゲット サービスに転送するように Higress ルーティング ルールを構成する必要があります。

  • コンテナ サービスのサービスを MSE クラウド ネイティブ ゲートウェイ (Higress 商用バージョン) のゲートウェイに同期し、対応するルーティング ルールを設定してトラフィック転送を実装します。

トラフィックが MSE クラウド ネイティブ ゲートウェイ経由で転送されると、より多くのガバナンス機能を実行できるようになります。

  • このプロセスでは、ラベル ルーティングを直接構成してグレースケール パブリッシュ機能を実現し、それをリンク トラッキングと組み合わせてフルリンク グレースケール機能を実現します。
  • このプロセス中に、ルート上に JWT 認証ルールを構成して、サービス間の安全な呼び出しを実現できます。

監視可能な完全なリンク追跡

アプリケーションのリアルタイム監視サービス ARMS - Application Monitoringにアクセスすることで、Kaimax はコード行を変更することなくアプリケーションの監視および診断機能を実現でき、アプリケーションの 3 つの最も重要な指標 (応答時間、スループット、スループット) を迅速に理解できます。同時に、インジケーター例外に従って、コール チェーン機能を使用してマイクロサービス全体を迅速に追跡します。

同時に、リンク トラッキング機能は、アプリケーションがフルリンク グレースケールを実現するための技術ベース サポートも提供します。

フルリンク トラフィック ラベルの透過的な送信

ほとんどのトレーシング フレームワークは、OpenTelemetry、Skywalking、Jaeger などのバゲージの概念と機能をサポートしているため、トレーシング バゲージ メカニズムを使用して、対応する染色識別子をリンク全体に送信します。もちろん、ARMS トレース機能もこの標準に準拠しており、Higress WASM プラグインを実装し、Higress アウトバウンド フィルターの x-mse-tag など、指定された透過送信キーに対応する x-mse-tag を、トレーシング プロトコルの指定された場所にあるバゲージ。値は、ルーティングを実行するために Higress の Http ヘッダーに挿入されます。これにより、カスタム ラベルのフルリンク透過送信が可能になります。

カスタム ラベルをフルリンクで透過的に送信できるようになると、完全なフルリンク グレースケール機能を構築できるようになります。フルリンクグレースケールとは何ですか?

マイクロサービス アーキテクチャの下では、マイクロサービス呼び出しリンク上の複数のマイクロサービスへの同時変更を伴う、いくつかの要件が開発されています。通常、各マイクロサービスには、グレースケール トラフィックを受け入れるためのグレースケール環境またはグループがあります。私たちは、上流のグレースケール環境に入るトラフィックを使用することを希望しています。ダウンストリーム グレースケール環境に入り、リクエストが常にグレースケール環境で配信されるようにします。この呼び出しリンク上にグレースケール環境を持たないマイクロサービスがいくつかある場合でも、これらのアプリケーションはダウンストリーム リクエストを行うため、グレースケール環境に戻ることができます。リリースにリンク内の複数のマイクロサービスが含まれる場合、グレースケール トラフィックがランダムに流れるリスクを心配することなく、フルリンクのグレースケール リリースをスムーズに実行できます。

x-mse-tag ラベルのフルリンク透過送信を実装した後、Higress ルーティングで x-mse-tag に基づいてラベル ルーティング ルールを設定し、適用されるノードで特定のラベルを持つトラフィックの閉ループを実現できます。これにより、「トラフィック スイム レーン」のフルリンク グレースケール機能が実現されます。

トラフィック保護機能

コードを変更せずにトラフィック保護機能を実現するにはどうすればよいでしょうか? 一般的なトラフィック制御とサーキット ブレーカーの劣化を例として、まずトラフィック保護機能を紹介します。

  • フロー制御

トラフィックは非常にランダムで予測不可能です。ある秒は穏やかでも、次の瞬間にはトラフィックのピークが発生する可能性があります (ダブルイレブンの 0:00 のシーンなど)。各システムやサービスには収容できる容量の上限があり、突発的なトラフィックがシステムの容量を超えると、リクエストの処理が滞り、蓄積されたリクエストの処理が遅くなり、CPUや負荷が高騰し、最終的にはエラーが発生する可能性があります。システムの故障。したがって、この突発的なトラフィックを制限し、サービスが過負荷にならないようにリクエストを処理することができる限り保証する必要があります、これがフロー制御です。

  • サーキットブレーカーのダウングレード

最新のマイクロサービス アーキテクチャは分散されており、多くのサービスで構成されています。異なるサービスが互いに呼び出して、複雑な呼び出しリンクを形成します。上記の問題は、リンク呼び出しで増幅された影響を及ぼします。複雑なリンク上の特定のリンクが不安定な場合、連鎖的にリンク全体が使用できなくなる可能性があります。したがって、全体的な雪崩を引き起こす局所的な不安定要因を避けるために、回線を遮断して依存度の低い不安定なサービスをダウングレードし、不安定な通話を一時的に切断する必要があります。

Kamix は、MSE サービス管理トラフィック保護機能 (Sentinel Enterprise Edition) にアクセスすることで、トラフィック保護機能をシームレスに実現します。コミュニティ バージョンと比較して、Sentinel Enterprise Edition には使用方法と機能の点でいくつかの利点があります。

さらなる探索と実践

コードを変更することなく、完全かつ体系的なマイクロサービス ガバナンス機能を迅速に開発できます。現在、Kamax は、フルリンク グレースケール、フルリンクの追跡と可観測性、Higress に基づくトラフィック保護などの一連の機能を実装しており、これにより、Kamax の現在のアーキテクチャは、急速に成長するビジネスによってもたらされる課題に、より冷静に対処できるようになります。

一方、Higress に関しては、Kamax ソリューションの導入により、Higress エコシステムの開発に新たなアイデアが導入され、より多くの企業にさらなるメリットをもたらすことを目指して、Higress の使いやすさと安定性の向上を継続して行っています。すごい価値。

Qt 6.6が正式リリース Gomeアプリの抽選ページのポップアップウィンドウが創設者を侮辱 Ubuntu 23.10が正式リリース 金曜日を利用してアップグレードするのもいいかもしれません! RISC-V: 単一の企業や国によって管理されていない Ubuntu 23.10 リリース エピソード: ヘイトスピーチが含まれているため ISO イメージが緊急に「リコール」された ロシアの企業は Loongson プロセッサをベースにしたコンピュータとサーバーを製造している ChromeOS は Google デスクトップを使用する Linux ディストリビューション環境 23 歳の 博士課程学生が Firefox の 22 年前の「ゴーストバグ」を修正 TiDB 7.4 リリース: MySQL 8.0 と正式互換 Microsoft が Windows Terminal Canary バージョンを発表
{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/3874284/blog/10117925