Tencent がクラウド ネイティブ サービス ディスカバリーおよびガバナンス センターをオープンソース化 - Polaris

Tencent がクラウド ネイティブ サービス ディスカバリーおよびガバナンス センターをオープンソース化 - Polaris

Polaris は、分散型またはマイクロサービス アーキテクチャにおけるサービスの可視性、フォールト トレランス、トラフィック制御、セキュリティ問題の解決に特化した Tencent のオープン ソース サービス検出およびガバナンス センターです。業界にはこれらの問題の一部を解決できるコンポーネントがいくつかありますが、標準的で多言語対応のフレームワークに依存しない実装が不足しています。

テンセントは膨大な数の分散型サービスを有しており、事業ラインやテクノロジースタックの多様性により、あらゆる規模の関連コンポーネントが数十個蓄積されています。 2019 年以降、当社は Polaris を通じてこれらのコンポーネントを抽象化および統合し、企業向けの統合サービス検出およびガバナンス ソリューションを作成し、企業の研究開発効率と運用品質の向上を支援しています。

現在、テンセント内のPolarisサービス登録数は100万を超え、1日のインターフェース通話量は10兆を超えています。汎用性と安定性は大規模に検証されています。そのため、私たちはこれをオープンソース コミュニティに提供し、他の企業を支援し、より多くの開発者が共同構築に参加することを期待しています。

特徴

  • Polaris の機能はプラグインの形で実装されています。企業はニーズに応じて使用方法を選択でき、拡張も非常に簡単です。
  • SDK と Sidecar の 2 つのアクセス方法を提供します。 SDK は高性能なビジネス シナリオに適しており、Sidecar は非侵入型開発モードに適しています。
  • SDK アクセスには、Java、Go、C++、NodeJS などの複数の言語で同じ機能を備えたクライアントを提供します。
  • Polaris SDKは、Spring Cloud、gRPC、Nginxなどの一般的なフレームワークやゲートウェイに統合できます。
  • Kubernetesに適用可能、K8sサービスとPolarisサイドカーの自動注入をサポート
  • テンセントの百万レベルサービスガバナンスセンターのオープンソース版は、分散サービスガバナンスにおけるテンセントの長年の経験を蓄積してきた。

コントロールサーフェス

North Star コントロール サーフェスの実装には、次の 3 つの特徴があります。

  • コンピューティングとストレージは分離されています。コンピューティング層ノードはクライアントノードの増加と並行して拡張でき、数百万のノードのアクセスを容易にサポートします。
  • コントロール プレーンには 1 つのプロセスのみがあり、アクセス層、ロジック層、ストレージ層、キャッシュ層に分かれており、構造が明確でメンテナンスが容易です。
  • アクセス層、ストレージ層、キャッシュ層はプラグイン設計を採用しており、拡張が容易で、さまざまなアプリケーション シナリオに適しています。

Polaris と k8s

k8sサービス

K8s は、サービスを通じてサービス検出と負荷分散機能を提供します。

  • ユーザーはサービスを作成し、そのサービスはラベルを通じて対応するポッドにバインドされます。各サービスはクラスター IP に関連付けられています。
  • k8sはまずkubedns、coredns、またはその他のDNSプラグインに依存してサービスをクラスターIPに解決します。
  • 次に、iptablesまたはIPVSを介してクラスターIPリクエストを対応するポッドに転送します。

k8s サービスの現在の実装には、次の欠点があります。

  • サービスの数が一定の制限を超えると、iptables と IPVS ではパフォーマンスの問題が発生し、大規模なサービスには適さなくなります。
  • iptables および IPVS でサポートされる負荷分散アルゴリズムは制限されており、カーネルに実装されており、アプリケーション層で拡張することはできません。
  • 動的ルーティング、回路ブレーカーのダウングレード、アクセス電流制限、アクセス認証などの一般的なサービス管理機能は提供されません。
  • Spring Cloudなどのマイクロサービスフレームワークのサービス登録および検出方法と互換性がなく、接続できない

k8s で Polaris を使用する

Polaris を使用して、k8s のサービス検出およびガバナンス機能を補完します。

  • k8s サービスの自動登録と SDK およびフレームワークを使用した登録の両方をサポートしており、両方が統一的に管理されます。
  • k8sのオリジナルのDNSアクセス方法に加えて、高性能と非侵入型の2つのサービスグリッドソリューションもサポートしています。
  • 高性能サービスメッシュは、多言語SDKを提供し、一般的なフレームワークやPolaris SDKとの統合も提供します。
  • 非侵入型サービスメッシュはSidecarを提供し、ビジネスはSDKやフレームワークに依存する必要がない

クイックスタート

前提条件

データベースを準備する

MySQL をダウンロードしてインストールする必要があります。バージョン番号は 5.7 以上である必要があります。こちらからダウンロードできます: https://dev.mysql.com/downloads/mysql/5.7.html

インポートデータベーステーブル作成スクリプト

テーブル作成スクリプトは./store/defaultStore/polaris_server.sqlで、mysqlコマンドまたは管理クライアントからインポートできます。

Golangコンパイル環境を準備する

Polaris サーバーのコンパイルには、golang コンパイル環境が必要です。バージョン番号は 1.12 以上である必要があります。これは、https://golang.org/dl/#featured からダウンロードできます。

コンパイルとビルド

  1. chmod +x ビルド.sh
  2. ビルド

ビルドが完了すると、現在のディレクトリに polaris-server-release_${version}.tar.gz パッケージが表示されます。

インストール

ソフトウェアパッケージを解凍する

polaris-server-release_${version}.tar.gz を入手して解凍します。

データベース構成の変更

解凍したディレクトリに入り、polaris-server.yaml を開いて、DB 構成に関連するいくつかの変数を実際のデータベース パラメータに置き換えます。 ##DB_USER## (データベース ユーザー名)、##DB_PWD## (データベース パスワード)、##DB_ADDR## (データベース アドレス)、##DB_NAME## (データベース名)

インストールスクリプトを実行する

  1. chmod +x ./tool/*.sh
  2. #インストール
  3. ./tool/install.sh
  4. #プロセスが正常に開始されたかどうかをテストする
  5. ./tool/p.sh

最後のステップで p.sh を実行した後、Polaris Server に戻り、起動が成功したことを確認します。

インストールの確認

  1. カール http://127.0.0.1:8080

機能が正常であることを証明するためにPolarisサーバーに戻る

経験

公式ウェブサイトアドレス:https://polarismesh.cn/、公式ではオンライン試用版も提供しています。アドレス:http://159.75.195.18/

リポジトリアドレス: https://github.com/polarismesh/polaris

<<:  Docker の脱獄、気づきましたか?

>>:  Kube-vip を使用して高可用性の Kubernetes クラスターを構築する (フル バージョン)

推薦する

zgovps: 米国 VPS (トリプル ネットワーク AS4837)、月額 3.58 ドル、2G メモリ/1 コア/20g NVMe/700g トラフィック、Netflix\Spotify\Steam\Chatgpt などのブロック解除。

zgovpsは本日、ロサンゼルスデータセンターでVPSの販売を正式に開始しました。デフォルトでは、3...

電子商取引のプロモーションでは、インターネットの「バタフライ効果」を無視してはならない

「独身の日」はもともと若者が楽しむための民間の祭りだったが、今では天猫と淘宝網を主戦場とする「双十一...

Kubernetes 7周年記念:K8s の導入とアプリケーションの簡素化における VMware の成果と課題

コンテナベースの分散管理システムである Kubernetes は 7 年間の開発期間を経て、そのエコ...

GitOps – インフラストラクチャ自動化のための DevOps

[[360000]] GitOps はインフラストラクチャを自動的に管理する方法を提供します。これは...

oplink-$10/KVM/2g メモリ/500g ハードディスク/4T トラフィック/ヒューストン/Level3

Oplink は本当に古いホスティング ブランドです。ストーリーを語るなら、1999 年から始まるこ...

HTML5が普及するには少なくとも5年かかると予想されており、現在、話題のピークを迎えている。

HTML5 は遠い夢物語でしょうか、それとも現在のモバイル インターネットの救いの手でしょうか? 1...

Alibaba Cloudの自社開発技術が世界初のクラウドネイティブデータウェアハウスAnalyticDBを採用し、TPC-DSを上回る

最近、権威ある国際処理性能委員会TPCの公式発表によると、「データベース分析シナリオのエベレスト」と...

企業がWeChatマーケティングを展開する方法の簡単な分析

最近はいろいろなことに振り回されて、頭がちょっと足りないです。11月のキャンパス就職フェアもかなり忙...

「トレンドに従う」か「トレンドに逆らう」かを選択しますか?

テクノロジーの進歩により、施設管理の役割は変化します。自動化の発展に伴い、ロボットは徐々にあらゆる分...

おすすめ:ハイエンドで低価格なonAPPクラウドプラットフォームVPSマーチャント推奨

HostCatでは、高級で上品なものから、低級で低俗なものまで、多くのVPSを紹介してきました。とに...

最後の仕上げは、中小規模のウェブサイト向けのニュースマーケティングです。

現在、ニュースマーケティングは、企業が市場の消費を誘導し、短期間で製品や企業の知名度を高め、ブランド...

実際の状況に基づいてウェブサイトのランキングを安定させる方法を分析

キーワードの競争が激しくなるほど、Web サイトを最適化することが難しくなります。ウェブサイトがすで...

斗宇には闘志がない

第2四半期の財務報告が発表された後、斗玉の株価は同日11.01%急落した。これは斗玉の上場以来の株価...

【クラウドネイティブ】Minio on k8s 解説と実践操作

1. 概要MinIO は、GNU Affero General Public License v3....

悪魔は細部に宿る:インタラクティブなウェブボタンのサイズ

製品がコア要件を満たしたら、詳細の作業をゆっくりと開始できます。製品のほぼすべてのレベルで、表面上見...