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

推薦する

百度には現象を通して本質を見るときに従うべきルールがある

Baidu の数回のアップデートにより、SEO 担当者はパニックに陥り、混乱し、しばらくの間、何をす...

gandi-.at ドメイン登録/初年度 6.25 USD

Gandi は .at ドメイン名のプロモーションを開始し、現在は元の価格から 25% 割引を提供し...

オラクルは人事および人材管理プロセスを再構築し、人間味のある労働モデルを構築

オラクルは本日、求職者と従業員の高まる期待に組織が応えられるよう支援するため、Oracle Huma...

Googleが検索結果からアンダースコアを削除したことは重要だ

2014 年 3 月 14 日、Google は検索結果ページのタイトルから下線を削除し、20 年間...

itldcはどうですか? Los Angeles VPS の簡単なレビューで実際の結果がわかります!

itldcはどうですか? itldc は良いですか? itldc レビュー…1995 年に設立された...

0から1までのブランドマーケティング戦略!

企業の試行錯誤の期間において最も重要な 2 つの側面は何ですか?戦略的原点期の3つの主な特徴は何です...

今後10年間でどのようなWeChatが必要になるでしょうか?

「 WeChatがまた変わった」毎日4時間以上WeChatを利用している孟清清さんは、WeChatが...

virmach: KVM 仮想 VPS は年間 5 ドルから、複数の部屋レベルが利用可能/Alipay

virmach の前回の大きなプロモーションがいつだったか覚えていません。8 月に、virmach ...

Godaddy エコノミースペース、100GB スペース + 1 ドメイン名で年間 12 ドル

Godaddy では、Godaddy のエコノミー モデル仮想ホストを 1 年間 + 無料ドメイン名...

コアキーワードを選択するための方法とテクニック

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています小小教室:...

Google が Flash ページのインデックスを停止

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスGoogle 検索は F...

hostodo: 全品 40% オフ、年間 $11.99、512M メモリ/1 コア/8g NVMe/3T トラフィック、DA パネル ライセンス無料

現在から 1 月 1 日まで、hostodo はすべての NVMe シリーズ VPS を 40% 割...

Pinterestについての考察 Pinterestは興味グラフを構築したいと考えている

私は Pinterest に関するブログを 2 つ続けて書いてきました (リンク リンク)。そして今...

Meilishuoによる画像ウェブサイトの最適化方法に関する簡単な分析

インターネットの速度が上がり続けるにつれて、ウェブサイトのサイズ要件は徐々に緩和される可能性がありま...