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 クラスターを構築する (フル バージョン)

推薦する

DIV切り替え機能を不適切に設定すると、ホームページの権限がダウングレードされる可能性があるので注意してください。

多くの人がウェブサイトを最適化する際、コンテンツと外部リンクに重点を置いており、基本的にこの2つの側...

フロントエンドエンジニアのための SEO のヒント 5 つ

私はさまざまな役職の同僚と頻繁にコミュニケーションを取っていますが、彼らがトラフィック チャネルとし...

クロスプラットフォームKOLエコシステムレポート

「一般」コンテンツは飽和傾向にある一方、「垂直」コンテンツは依然としてユーザー数の増加が著しい時期に...

ウェブサイトプロモーションソフト記事マーケティングスキルと方法のまとめ:キーワード品質の最適化の程度

実際、ウェブサイトのプロモーションは長いプロセスであり、集中力を必要とします。これは、3 日以内に ...

クラウドネイティブデータウェアハウスByteHouseで高性能なベクトル検索を構築する方法の分析

LLM テクノロジーの適用と実装により、データベースのベクトル分析と AI サポート機能を向上させる...

電子商取引時代のオンラインプロモーションにおいて中小企業が勝利するにはどうすればいいのでしょうか?

1998年の「電子商取引の年」以来、電子商取引は世界中で急速に発展してきました。世界各国は、この新し...

Baidu入札データ分析手順、簡単に入札をプレイ

入札を行う人の多くは、やみくもにアカウントを調整しており、入札オペレーターの中には、毎日どのような作...

budgetvmはどうですか? Budgetvm ロサンゼルス データセンター 独立サーバー 簡単な評価

budgetvmはどうですか? budgetvm の速度はどのくらいですか? budgetvm は良...

適切なブランドマーケティング手法を見つけるにはどうすればよいでしょうか?

人生において、私たちは他人の成功を見て、「成功を再現できるだろうか?」と自問することがよくあります。...

XenPower-5.77 USD/XEN.PV/1GB メモリ/120GB ハードディスク/2TB トラフィック

Prometeus の新しいブランドである XenPower は、Intel E5 v2 CPU、1...

アリババが知識蒸留法を革新、その論文がトップカンファレンスCVPR 2022の口頭発表に選出

6月23日、アリババDAMOアカデミーの自動運転実験室は知識蒸留法を革新し、複数のコンピュータービジ...

Taobao Liveがダブル12の準備ガイドを正式にリリース!

天猫ダブル11ショッピング戦争はちょうど終わったばかりで、ダブル12のゲームプレイも徐々に公開されて...

コロナウイルスはクラウドサービスの導入にどのような影響を与えましたか?

MariaDB の調査によると、世界中の IT プロフェッショナルの 99% が、COVID-19 ...

サービスエッジへの安全なアクセスを実現するクラウドネイティブ ネットワーキングの利点を理解する

クラウド ネイティブの重要性をより深く理解するために、クラウド配信のために同社のセキュア アクセス ...

クラウドでビジネスを変革する方法

過去 1 年間でよく耳にした流行語の 1 つは「変革」です。 「IT 変革」、「デジタル変革」、「変...